您将定义这样resources :activities
的路由,routes.rb
其中将免费为您提供 7 条 RESTful 路由。但是,您不仅限于 RESTful 路由默认创建的七个路由。如果您愿意,您可以添加适用于集合或集合的各个成员的其他路由。
resources :activities do
collection do
get 'sort_by_attr'
end
end
或者
resources :activities do
get 'sort_by_attr', :on => :collection
end
您可以使用:as选项为任何路由指定名称,如下所示:
resources :activities do
get 'sort_by_attr', :on => :collection, :as => :sort
end
这会给你sort_activities_path
和sort_activities_url
。阅读更多关于从外到内的 Rails 路由。
编辑:
如果您只是将:action
参数传递给 link_to,它将尝试在当前控制器中找到该路由并呈现该操作。虽然不推荐,但您可以尝试定义一个通用路由来匹配任何 url,如下所示:
match ':controller/:action'