2011-01-13 31 views
2

私はhas_manyとbelongs_toの関連付けを持っています。has_manyとbelongs_toの関連付けのラジオボタン

class Link < ActiveRecord::Base  
    has_and_belongs_to_many :categories 
    belongs_to :property 
end 

class Property < ActiveRecord::Base 
    has_many :links 
end 
指標で

と私は<%= link.property.name %>を持っており、それは私がうまくコンソールとのリンクに割り当てられているプロパティが表示されます表示されます。

リンクにプロパティを割り当てるラジオボタンを_formにどのように表示するかを決定する際に問題があります(ドロップダウンも同様に機能します)。

この質問があった人は誰でもエーテルhas_many:throughまたはHABTM関係があり、答えを適応できないようです。

答えて

2

各リンクには1つのプロパティしかないので、おそらくラジオボタン(チェックボックスではない)が必要です。これは

<%= form_for @link do |f| %> 
    <% @properties.each do |p| %> 
    <%= f.radio_button :property_id, p.id %> 
    <%= f.label :property_id, p.name %> 
    <% end %> 

    <%= f.submit %> 
<% end %> 

は、コントローラに@properties = Property.allを設定することを忘れないでください(あなたのビューで)動作するはずです。

+0

Rad。ラジオボタン(私はチェックボックスを探しているとは思えません)が表示されていますが、ラベルはありません。ラベルタグの考え方は? – Thomas

+0

また、ラジオボタンの1つをチェックしてサブミットすると、リンクのproperty_idが0に変更され、id = 0に関連付けられた名前がないためビューが中断されます。 – Thomas

+0

私は前にうんざりしていました( 'id'の代わりに' name'プロパティをラジオボタンに渡していました)...更新された答え(正しく動作するはずです)を参照してください。ごめんなさい! –

関連する問題