是否可以在每个循环上提交第一个索引字段

时间:2014-01-21 06:41:12

标签: ruby-on-rails

这是循环,

<% @book.each_with_index do |book,i| %>

 <%= form_for(book) do |f| %>

  <%= f.number_field :title, :value => book.title %>

  <% if i == 0 %>
   <%= f.number_field :count, :value => book.count%>
  <% end %>

 <% end %>

<% end %>

我的结果显示如下:(可以更新标题和数字)

titleA 55
titleB 
titleC
...

我可以在每个结果列表中更改第一个索引字段字段吗?所以结果应该是这样的:

titleA 55
titleB 55
titleC 55
...

1 个答案:

答案 0 :(得分:0)

你的意思是这样吗?

<% @book.each_with_index do |book,i| %>
  <%- first_book_count = book.count if i == 0 %>
  <%= form_for(book) do |f| %>

    <%= f.number_field :title, :value => book.title %>
    <%= f.number_field :count, :value => first_book_count %>

  <% end %>
<% end %>

在erb中,虽然它有点难看,但你可以将ruby放在模板中并使用它。如果你想稍微清理一下,你可能会考虑使用一个可以封装一些逻辑的书籍演示者。