pjd*_*dev 1 ruby ruby-on-rails
<ul id = "subjects">
<% Subject.find(:all).each do |c| %>
<li><%= link_to c.name, :action => "show_subjects", :id => c.id %></li>
<% end %>
</ul>
Run Code Online (Sandbox Code Playgroud)
我的 list.html.erb 文件中有一个代码片段。它引发异常“无法找到‘id’=all 的主题”。这个案例有什么问题呢?我想做的是将所有主题列为超链接。
感谢帮助。
问题是您使用的是古老的代码。将其替换为这两个中的任何一个。
Subject.all.each do ...
Run Code Online (Sandbox Code Playgroud)
或者
Subject.find_each do ...
Run Code Online (Sandbox Code Playgroud)
错误的解释是find自动按 id 搜索,但它:all不是有效的id,因此找不到任何内容并引发异常。