如何以编辑形式检查当前对象的属性值?

时间:2013-12-22 21:38:14

标签: ruby-on-rails ruby

我有一个嵌套模型。如何在编辑表格中检查网络对象(酒店)的属性值?我无法弄清楚如何在_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>

1 个答案:

答案 0 :(得分:0)

_hotels_fields.erb.html一个特定hotels的背景下(为什么复数,如果你只有一个?)由f.object表示。因此,这应该有效:

<% if f.object.name == 'hotel' %>
  ...
<% else %>
  ...
<% end %>