2011-09-10 1 views
0

値として完全なObjectを選択することは可能でしょうか?Rails 3.1 selectは値としてオブジェクトを持つことができます

コード:

モデル アプリ/モデル/ pc.rb

class Pc < Device 
    has_many :gendevs 
    accepts_nested_attributes_for :gendevs, :reject_if => lambda { |a| a[:name].blank? },:allow_destroy => true 
end 

アプリ/モデル/ gendev.rb

class Gendev < Device 
    belongs_to :pc 
end 

(Gendevsあるスキャナのようなもの、などcardreaders) 。 データベースでGendevを利用できるようになったので、私はオブジェクトの属性を与えて入れ子にした選択をしたいと思っています。

ビュー:

アプリ/ビュー/個/ _form.html.erb

.... 
<% f.fields_for :gendevs do |gdbuilder| %> 
<%= gdbuilder.select :gendevs, @gendevs.map { |g| [g.name + '/' + g.kind,g] } %> 
<% end %> 

これが動作していないので、私の質問ですが、私はこれを行うことができますか。 gのparamsをシリアル化する方法はありますか?これをどうすればできますか?

答えて

0

gの代わりにg.idを使用します。

<% f.fields_for :gendevs do |gdbuilder| %> 
<%= gdbuilder.select :gendevs, @gendevs.collect { |g| [g.name + '/' + g.kind, g.id] } %> 
<% end %> 
関連する問題