Rails 4路由关注url参数

时间:2015-11-09 20:56:52

标签: ruby-on-rails routing

在Rails 4中,我如何创建接受URL参数的路由关注点?我的路线文件中有以下内容:

concern :votable do
  get 'vote/:vote_type'
end

resources :parking_locations, concerns: :votable

我希望能够点击以下网址:

/parking_locations/123/vote/0
/parking_locations/123/vote/1
/parking_locations/123/vote/2

但是,当我尝试初始化我的应用程序时,出现以下错误:

Missing :action key on routes definition, please check your routes.

如果我将问题改为:

concern :votable do
  get 'vote'
end

然后应用程序正常工作并路由到控制器vote方法,但当然我无法再通过URL中的vote_type。是否可以设置接受参数的关注点?

1 个答案:

答案 0 :(得分:1)

如错误所述,您需要指定要点击的:action。以下应该有效

concern :votable do
  get 'vote/:vote_type', action: :vote
end

resources :parking_locations, concerns: :votable

这将触及vote的{​​{1}}操作,您可以访问ParkingLocationsController参数。