【发布时间】:2019-02-10 07:23:02
【问题描述】:
我有两条路线要指向同一个控制器操作。
get '/events/:url_token' , to: 'events#show'
get '/tv/events/:url_token', to: 'events#show'
并在我的 EventsContoller 中为显示操作设置事件
@event = Event.find_by(url_token: params['id'])
当我导航到 /events/asdf 时,这很好用,因为参数看起来像
{"id"=>"asdf"}
但是当我导航到 /tv/events/asdf 我得到了
{"url_token"=>"hbbnHw"}
我不明白为什么这两个路由的参数名称不同或我应该如何修复。
编辑:我在与事件相关的路线中也有这个:
resources :events do
member do
post :addeventgroup
patch :updateeventtype
patch :updateeventgroup
patch :start_event
end
【问题讨论】:
-
你能显示更多代码吗?喜欢完整的
routes.rb以及如何导航到网址?你是用link_tobutton_to手动href还是手动输入 -
您可能在
routes.rb中定义了另一个路由,它已经处理了events路由。也许是resources :events?请出示您的routes.rb。 -
@spickermann 是的,我添加了对与事件相关的路线中的内容的编辑...
-
@buncis 我正在手动访问网址。我从我的 routes.rb 中添加了更多内容
-
为什么要让两条路由指向同一个 URL?为什么不使用相同的 URL?你想达到什么目标?
标签: ruby-on-rails ruby