【发布时间】:2015-05-15 02:49:53
【问题描述】:
那么问题来了:
我有一个想要显示“项目”列表的页面。我还想在此页面上有一个用于添加其他“项目”的表单。
控制器中的“新”操作如下所示:
def new
@collection = current_user.collections.find_by_id(params[:collection_id])
@item_list = @collection.items
@item = @collection.items.new
end
视图中的代码如下:
<div class="row-fluid">
<div id="main_area" class="col-sm-offset-3 col-sm-6 col-md-offset-4 col-md-4">
<div class="center">
<h3><%= @collection.title %></h3>
<% if @item_list.any? %>
<ul>
<% @item_list.each do |il| %>
<li>
<%=i l.name %>
<% end %>
</ul>
<% end %>
<div id="add_item">
<%=f orm_for [@collection, @item] do |f| %>
<div class="form-group <%= 'has-error has-feedback' if @item.errors[:name].present? %>">
<label class="sr-only" for="item_name">Item Name</label>
<%=f .text_field :name, :autofocus=>true, :placeholder => "Item Name", :class => "form-control", :'aria-describedBy' => "itemNameBlock" %>
<% if @collection.errors[:title].present? %>
<span id="itemNameBlock" class="error">Item <%= @item.errors[:name].first %></span>
<% end %>
</div>
<div id="signin_button_row">
<%=f .submit "Save", :class=>"form-control green_button" %>
<span id="forgot_my_password" class="right-justify">
<%= link_to "cancel", collection_items_path(@collection), :class => "new_colors terms" %>
</span>
</div>
<% end %>
</div>
</div>
</div>
</div>
我的问题是视图中的循环似乎总是有一个额外的“项目”,这似乎与我在控制器中使用“新”这一事实有关。
我该如何解决这个问题?
【问题讨论】:
标签: ruby-on-rails activerecord