我想阅读我桌子的所有记录。这是我的代码
控制器:
def list
@vorlesung=Vorlesung.find(:all)
end
查看:
<html>
<body>
<table>
<tr>
<th>
Name
</th>
</tr>
<% @vorlesung.each do |v| %>
<tr>
<td><%= v.Name %> </td>
</tr>
<% end %>
</table>
</body>
</html>
和路径文件:
root :to => 'vorlesungs#Show'
match 'vorlesungs/new' =>'vorlesungs#new'
match 'vorlesungs' =>'vorlesungs#list'
resources :vorlesungs
正如我对CRUD所理解的那样,我只能写出资源:vorlesungs 。但是如果没有匹配'vorlesungs'=&gt;'vorlesungs#list'我的代码是行不通的。请问有人告诉我这个原因吗?
答案 0 :(得分:1)
列表不是资源创建的默认资源。查看下面链接中的表格,查看使用资源方法创建的路径所使用的所有操作。
http://guides.rubyonrails.org/routing.html#resources-on-the-web
您应该保留在路线中或重命名列表以进行索引(包括视图中的list.html.erb)。我建议将列表重命名为index以避免破坏约定。
答案 1 :(得分:0)
用于列出资源的所有元素的CRUD操作是索引,因此如果您将代码更改为
def index
@vorlesung=Vorlesung.find(:all)
end
并将您的视图重命名为index,然后您就可以使用
了resources :vorlesung