允许方法接受:id param

时间:2013-08-12 20:04:08

标签: ruby-on-rails routes

我在控制器(events_controller.rb)中创建了一个名为verify的方法,我希望允许该页面(verify.html.erb)接受一个对象(@event),并显示该对象参数。我本质上是创建一个显示页面,但是我需要在这个页面中构建一些特殊的逻辑,我不想在显示页面中构建它。我创建了这条路线,但是当我告诉它通过params [:id]找到一个事件时,我仍然会收到错误。它的实际网址是/verify.(event:id),我相信它应该路由到events / verify /(event:id)。

我的错误

Couldn't find Event without an ID.

的routes.rb

get "verify", to: 'events#verify'
resources :events

events_controller.rb

def verify
@event = Event.find(params[:id])

respond_to do |format|
  format.html # verify.html.erb
  format.json { render json: @event }
end
end

谢谢Stack!

1 个答案:

答案 0 :(得分:0)

get "verify/:id", to: 'events#verify', as: "verify"

在浏览器中转到url例如:

localhost:3000/verify/1