Ruby on rails rails-使用迭代打印文本
我正在尝试在我的页面中打印一个不可更新的值。 到目前为止,它显示Ruby on rails rails-使用迭代打印文本,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在尝试在我的页面中打印一个不可更新的值。 到目前为止,它显示 <%= f.fields_for :ingredients do |builder| %> <fieldset> <%= builder.text_area :name %> </fieldset> <% end %> 我需要它显示一个不可更新的纯文本。所以我试着去做 选择1 <%= f.fields_for :ingredients do |bu
<%= f.fields_for :ingredients do |builder| %>
<fieldset>
<%= builder.text_area :name %>
</fieldset>
<% end %>
我需要它显示一个不可更新的纯文本。所以我试着去做
选择1
<%= f.fields_for :ingredients do |builder| %>
<fieldset>
<%= builder.label :name, "Ingredients" %>
</fieldset>
<% end %>
但是没有成功。这确实有效:
选择2
<% @recipe.ingredients.each do |ingredient| %>
<td><%= ingredient.name %></td>
<% end %>
选项1和选项2的主要区别是什么?我更喜欢使用带有
标记的选项1。我做错了什么 标签用于为字段创建标签,而不是显示其值。选项2正是显示名称字段内容的方式。选项1格式样式是显示文字“成分”而不是“名称”。通常,后面会跟着
另一个可能的不一致:@recipe.contracents是一个数组,因此没有名为contracents.name的字段。作为测试,请尝试配料[0]。名称
因此,在选项1中,尝试:
<% ingredient = @recipe.ingredients[0] %>
<%= f.fields_for :ingredient do |builder| %>
<fieldset>
<%= builder.label :name, "Ingredients" %>
</fieldset>
<% end %>
如果打印了“成分”标签,则您可以打印成分列表,其中包括:
<td>Ingredients:</td>
<% @recipe.ingredients.each do |ingredient| %>
<td><%= ingredient.name %></td>
<% end %>
成分:
主要区别在于生成的HTML。我不理解你关于“选项1带有li
标签”的评论,因为选项1不是这样做的,而且不清楚你在这方面做了什么,我正在尝试翻出所有成分列表。我已经成功地在测试区域打印了它们(在rails播放之后)但是我在制作一个普通文本时遇到了麻烦,它只打印单词component,而不是成分的名称(值)