rails 个条件字段
rails fields for conditional
我正在显示某个案例的一些联系人。问题是我想把它们分成几组。
客户
...列出客户
前律师
...列出前律师
反对党
...列出反对党
<% current_account.roles.each do |role| %>
<%= f.fields_for :case_contacts, f.object.case_contacts.order(:role) do |builder| %>
<% if builder.object.role == role %>
<%= render partial: 'contact_fields', locals: { f: builder, edit: edit } %>
<% end %>
<% end %>
<% end %>
所以这有效,除了它在我的 html.
中留下空的 div.fields
有没有办法把条件放在fields_for语句中
<%= f.fields_for :case_contacts, f.object.case_contacts.order(:role), if f.object.role = role do |builder| %>
我知道这个例子是错误的。
而且,实际上,我可以不用 fields_for 一起生成的 div.fields
编辑:
我想如果 fields_for 只显示 builder.object.role = role
的字段,我什至不需要订购它
你必须用你的保护条件包裹 fields_for 块:
<% if f.object.role == role %>
<%= f.fields_for :case_contacts, f.object.case_contacts.order(:role) do |builder| %>
<% if builder.object.role == role %>
<%= render partial: 'contact_fields', locals: { f: builder, edit: edit } %>
<% end %>
<% end %>
<% end %>
找到答案
<%= f.fields_for :case_contacts, f.object.case_contacts.where(role: role) do |builder| %>
我正在显示某个案例的一些联系人。问题是我想把它们分成几组。
客户 ...列出客户 前律师 ...列出前律师 反对党 ...列出反对党
<% current_account.roles.each do |role| %>
<%= f.fields_for :case_contacts, f.object.case_contacts.order(:role) do |builder| %>
<% if builder.object.role == role %>
<%= render partial: 'contact_fields', locals: { f: builder, edit: edit } %>
<% end %>
<% end %>
<% end %>
所以这有效,除了它在我的 html.
中留下空的 div.fields有没有办法把条件放在fields_for语句中
<%= f.fields_for :case_contacts, f.object.case_contacts.order(:role), if f.object.role = role do |builder| %>
我知道这个例子是错误的。
而且,实际上,我可以不用 fields_for 一起生成的 div.fields
编辑: 我想如果 fields_for 只显示 builder.object.role = role
的字段,我什至不需要订购它你必须用你的保护条件包裹 fields_for 块:
<% if f.object.role == role %>
<%= f.fields_for :case_contacts, f.object.case_contacts.order(:role) do |builder| %>
<% if builder.object.role == role %>
<%= render partial: 'contact_fields', locals: { f: builder, edit: edit } %>
<% end %>
<% end %>
<% end %>
找到答案
<%= f.fields_for :case_contacts, f.object.case_contacts.where(role: role) do |builder| %>