2010-05-15 1 views
1

У меня есть основной has_many через отношения:Howto: Доступ второй родственная модели в строитель блоке вложенного атрибута

class Foo < ActiveRecord::Base 
    has_many :bars, :dependent => :destroy 
    has_many :wtfs :through => :bars 

    accepts_nested_attributes_for :bars, :wtfs 
end 

На моих Crud формах у меня есть строитель блок для WTF, но мне нужна метка (например, атрибут, называемый ярлыком). Каков правильный способ сделать это?

Вот самый простой эшафот:

<h1>New foo</h1> 

<% form_for(@foo) do |f| %> 
    <%= f.error_messages %> 

    <p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </p> 

    <h2>Bars</h2> 
    <% f.fields_for :wtfs do |builder| %> 
    <%= builder.hidden_field :bar_id %> 
    <p> 
    <%= builder.text_field :wtf_data_i_need_to_set %> 
    </p> 
    <% end %> 

    <p> 
    <%= f.submit 'Create' %> 
    </p> 
<% end %> 

<%= link_to 'Back', foos_path %> 

ответ

1

Ответ был найден в анализ того, как рельсы FormBuilder работает. Поэтому в приведенном выше примере, где мне нужно получить доступ к фактическому объекту wtf, чтобы я мог получить свойство на баре, мне необходимо сделать следующее:

<h2>Bars</h2> 
    <% f.fields_for :wtfs do |builder| %> 
    <%= builder.hidden_field :bar_id %> 
    <p> 
    <%= builder.label builder.object.bar.data_i_need_for_a_label %> 
    <%= builder.text_field :wtf_data_i_need_to_set %> 
    </p> 
    <% end %> 

 Смежные вопросы

  • Нет связанных вопросов^_^