私は直接書くことができないモデルフィールドにいくつかの配列を追加する必要があります。Model.send(...)= [1,2,3]
は例えば、私はこのように、|type|
のparamコードとブロックに必要:
Employee.find_by(resposible: true).send("#{type}_ids") = [1,2,3]
しかし、これは動作しません。
私は直接書くことができないモデルフィールドにいくつかの配列を追加する必要があります。Model.send(...)= [1,2,3]
は例えば、私はこのように、|type|
のparamコードとブロックに必要:
Employee.find_by(resposible: true).send("#{type}_ids") = [1,2,3]
しかし、これは動作しません。
使用している構文に問題があります。好み:
send(symbol [, args...])
ので、以下のようにコードを変更することはあなたが
がNOTEコンマの後にパラメータを渡す必要があり
Employee.find_by(resposible: true).send("#{type}_ids=", [1,2,3])
動作するはずです:これはsend
の正しい構文でありますpublic_send
をsend
とすると、public_send
はsend
via send
というメソッドにパラメータを含める構文は少し異なります。試してみてください:
Employee.find_by(resposible: true).send("#{type}_ids=", [1,2,3])
ありがとう!この作品! –