2017-06-26 3 views
0

は私が/取得の名前を使用してリレーションを設定したい 関係の文字列名を使用してActiveRecord関係船にアクセスするにはどうすればよいですか?

class User < ApplicationRecord 
    has_many :audiobooks 
    has_many :ebooks 
    has_many :physicalbooks 
end 

のように見えるアクティブレコードクラスを持っています。どうやってやるの?

私が実行する操作の可能性例:

books = [ :audiobooks, :ebooks, physicalbooks] 
books.each do |b| 
    user[b].build(...) 
end 

私はActiveRecordの中でこれを行うことができますどのように。

+1

user.send(:オーディオブック).buildを(...) – mmaloon

答えて

2

あなたはそうのように、send方法を使用することができます。

user.send(b) 
関連する問題