Ruby on rails 如何在编辑表单中检查当前对象的属性值?
我有一个嵌套模型。如何在编辑表单中检查网络模型对象(酒店)的属性值?我不知道如何在_hotels_fields.html.erb中编写if/else语句 edit.html.erbRuby on rails 如何在编辑表单中检查当前对象的属性值?,ruby-on-rails,ruby,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 %> <%=
<% provide(:title, "Edit trip") %>
<h1>Edit trip</h1>
<%= form_for(@trip) do |f| %>
<%= render 'fields_edit', f: f %>
<%= f.submit "Save changes" %>
<% end %>
<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 %>
<% 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>
编辑行程
\u fields\u 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 %>
<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 %>
<% 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>
酒店
\u hotels\u fields.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 %>
<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 %>
<% 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>
呈现任何文本
在\u hotels\u fields.erb.html
的上下文中,一个特定的hotels
(如果只有一个,为什么这里是复数?)由f.object
表示。因此,这应该是可行的:
<% if f.object.name == 'hotel' %>
...
<% else %>
...
<% end %>
...
...
我不知道如何将if语句放在这个“:hotels”对象上。我试过你的建议,但没用。你知道为什么吗 利润现在好像你把它搞混了。如果您在计算手中的对象时遇到问题,请尝试以下方法:从表单生成器中获取内部变量名称(在第一个示例中为wasf
,现在在注释中为builder
),然后调用
。也许这可以帮助您解决问题。