2011-08-19 54 views
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我schould只写资源:vorlesungs。但我的代码不起作用没有匹配'vorlesungs'=>'vorlesungs#列表'你会有人告诉我这个理由吗?

回答

1

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

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

您应该保持在你的路线或重命名列表索引(包括你的观点list.html.erb)。我建议重命名列表来索引以避免打破常规。

+0

谢谢,当我在控制器中更改我的函数的名称来索引和删除匹配'vorlesungs'=>'vorlesungs#list'时,这不起作用,并且出现错误:NoMethodError,我很抱歉,我是初学者:( –

0

上市资源的所有元素的CRUD操作是指数,所以如果你改变你的代码

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

,并重新命名您的视图索引,那么你将能够使用

resources :vorlesung