Arrayの展開ヘ(^o^)ノ
Rails4からpluckが複数カラムに対応しましたねー
こんな感じで、特定カラムの値が配列で取得できます。
Post.pluck(:title, :description) # => [["Murajun's Style", "Arrayの展開ヘ(^o^)ノ"]]
とっても便利ですよねー
んじゃ、カラムを動的に取得したいですよね?(したいよね?w
こんなメソッドを作りましたー
def columns_value(*columns) Post.pluck(columns) end
でも、このメソッドは怒られます。
pluckの引数columnsがArrayだからです。
つまりはこういう状態。。。
Post.pluck([:title, :description])
そこでArrayの展開ヘ(^o^)ノ
def columns_value(*columns) Post.pluck(*columns) end
ポイントはpluckの引数のまえにある*(アスタリスク)
これでArrayが展開されます。
columns_value(:title, :description) # => [["Murajun's Style", "Arrayの展開ヘ(^o^)ノ"]]
できましたねー
ActiveSupport::Concernを使えば、Modelも動的にできますよねー
Happy Hacking٩( ‘ω’ )و