我有一个嵌套模型。如何在编辑表格中检查网络对象(酒店)的属性值?我无法弄清楚如何在_hotels_fields.html.erb中编写if / else语句
edit.html.erb
<% provide(:title, "Edit trip") %>
<h1>Edit trip</h1>
<%= form_for(@trip) do |f| %>
<%= render 'fields_edit', f: f %>
<%= f.submit "Save changes" %>
<% end %>
_fields_edit.html.erb
<p>
<%= f.label :image %>
<%= f.file_field :image %>
</p>
<p>
<%= f.label :content %>
<%= f.text_area :content %>
</p>
<p>Hotel</p>
<%= f.fields_for :hotels do |builder| %>
<%= render 'hotels_fields', f: builder %>
<% end %>
_hotels_fields.html.erb
<% if @trip.hotels.name == "hotel" %>
<p>Render any text</p>
<% end %>
<fieldset>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :description %>
<%= f.text_field :description %>
</p>
</fieldset>
答案 0 :(得分:0)
在_hotels_fields.erb.html
一个特定hotels
的背景下(为什么复数,如果你只有一个?)由f.object
表示。因此,这应该有效:
<% if f.object.name == 'hotel' %>
...
<% else %>
...
<% end %>