Ruby on rails 如何修复RubyonRails中的这个路由错误?
我已将这一行放在routes.db文件中:Ruby on rails 如何修复RubyonRails中的这个路由错误?,ruby-on-rails,routing,Ruby On Rails,Routing,我已将这一行放在routes.db文件中: map.mything '/mything', :controller => 'mything', :action => 'list' 但是当我转到时,我得到这个错误,我得到这个错误: Unknown action No action responded to index. Actions: list 为什么它试图使用索引而不是列表?我认为通过设置 :action => 'list' 它会使用列表操作吗?感谢阅读。很抱歉问了一个
map.mything '/mything', :controller => 'mything', :action => 'list'
但是当我转到时,我得到这个错误,我得到这个错误:
Unknown action
No action responded to index. Actions: list
为什么它试图使用索引而不是列表?我认为通过设置
:action => 'list'
它会使用列表操作吗?感谢阅读。很抱歉问了一个可能很明显的问题,但您是否尝试过重新启动应用程序?在重新启动应用程序之前,某些路由不会注册(RESTful资源永远不需要重新启动应用程序,但其他资源通常需要重新启动)。同意Jim Schubert的观点,将命名路由置于默认路由之上 另一个可能的问题是,您有以下情况:
map.resources:mything
这是在控制器上设置索引操作,作为构建模型的结果您必须将命名路由置于默认路由之上 我将这些命名路由放在routes.rb的顶部,因此它们总是首先得到评估
ActionController::Routing::Routes.draw do |map|
map.about 'about', :controller => 'home', :action => 'about'
map.contact 'contact', :controller => 'home', :action => 'contact'
# MORE CONFIG
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
必须将命名路由置于默认路由之上。我在routes.rb的顶部放置了这样的命名路由,因此它们总是首先得到评估。@Jim这很有效,谢谢!本:谢谢,我还为其他有同样问题的人提供了代码。