我试图打印所有与清单相匹配的项目。清单中的NoMethodError#show,未定义的方法`each'for#<Item:0x007f9e441517d0>
我得到了清单#秀,未定义的方法`每个错误NoMethodError”的#Item:0x007f9e441517d0
不知道是什么原因造成的,任何帮助,将不胜感激。
检视: 应用/视图/清单/ show.html.erb
<h1> <%= @checklist.name %> </h1>
<ul class="item">
<% @items.each do |item| %>
<li>
<%= item.item_name %>
<%= item.eta %>
<%= item.complete %>
</li>
<% end %>
</ul>
控制器: 应用程序/控制器/ checklists_controller.rb
def show
@checklist = Checklist.find(params[:id])
@items = Item.find_by(checklist_name: @checklist.name)
end
在show动作中将checklist.name更改为checklist.id。您正在将checklist_id设置为名称。 –
这是故意的。 Checklist_id是一个字符串,应该与Checklist表中的名称列相对应。我现在将列名checklist_id更正为checklist_name。 – user8067471