无法找到 id=:all - Ruby on Rails

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 的主题”。这个案例有什么问题呢?我想做的是将所有主题列为超链接。

感谢帮助。

Eye*_*dic 6

问题是您使用的是古老的代码。将其替换为这两个中的任何一个。

Subject.all.each do ...
Run Code Online (Sandbox Code Playgroud)

或者

Subject.find_each do ...
Run Code Online (Sandbox Code Playgroud)

错误的解释是find自动按 id 搜索,但它:all不是有效的id,因此找不到任何内容并引发异常。