0

我想阅读我的表的所有记录。这是我的代码

控制器:

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但是如果没有match 'vorlesungs' =>'vorlesungs#list',我的代码将无法工作,请有人告诉我这个原因吗?

4

2 回答 2

1

List 不是资源创建的默认资源。查看下面链接中的表格,查看使用资源方法创建的路由使用的所有操作。

http://guides.rubyonrails.org/routing.html#resources-on-the-web

您应该保留您的路线或将列表重命名为索引(包括您的视图中的 list.html.erb)。我建议将列表重命名为索引以避免破坏约定。

于 2011-08-19T15:35:07.233 回答
0

列出资源的所有元素的 CRUD 操作是索引,因此如果您将代码更改为

def index
    @vorlesung=Vorlesung.find(:all)
end

并将您的视图重命名为索引,然后您就可以使用

resources :vorlesung
于 2011-08-19T15:47:19.663 回答