Ruby on rails 3 如何访问嵌套rails表单的一部分中的属性?
我想使用内部对象中的布尔属性is_white在部分内部对象表单字段中的html代码之间切换。这是我的尝试Ruby on rails 3 如何访问嵌套rails表单的一部分中的属性?,ruby-on-rails-3,forms,nested-forms,partial,Ruby On Rails 3,Forms,Nested Forms,Partial,我想使用内部对象中的布尔属性is_white在部分内部对象表单字段中的html代码之间切换。这是我的尝试 <%= form_for @outer_object do |f| %> <%= f.fields_for :inner_object do |builder| %> <%= render :partial => "inner_object_form_fields", :locals => { :f => builder } %&
<%= form_for @outer_object do |f| %>
<%= f.fields_for :inner_object do |builder| %>
<%= render :partial => "inner_object_form_fields", :locals => { :f => builder } %>
<% end %>
<% end %>
这是InnerObjects的迁移文件
我找到了一个答案,但无法为我找到答案。
问题是:如何访问attribute is_white?我的示例不起作用。是因为f.Is\u white基于部分中的空白对象吗?试一试
<%= form_for @outer_object do |f| %>
<%= f.fields_for f.inner_object do |builder| %>
<%= render :partial => "inner_object_form_fields", :locals => { :f => builder } %>
<% end %>
<% end %>
这样,它将引用附着的对象和您创建的任何状态 试试看
<% if f.object.is_white == true %>
似乎记得你可以通过这种方式访问对象,但不是100%确定 更进一步的一步就是这样做:
<%= f.fields_for f.inner_object do |builder| %>
<%= render :partial => "inner_object_form_fields", :locals => { :f => builder, :inner_object => builder.object } %>
<% end %>
那你就可以做了
<% if inner_object.is_white == true %>
这样,您的部分代码看起来更干净。对不起,Anthony。这对我不起作用。我编辑我的帖子以获得许可。
<%= f.fields_for f.inner_object do |builder| %>
<%= render :partial => "inner_object_form_fields", :locals => { :f => builder, :inner_object => builder.object } %>
<% end %>
<% if inner_object.is_white == true %>