我正在尝试为某事件创建一个登陆页面,以供人们访问以查看事件的详细信息。我已经创建了视图,向事件资源添加了路由,并对控制器进行了更改,但是做错了什么。
这是我的代码:
routes.rb:
resources :events do
resources :guests
match '/landing_page', to:'events#landing_page', as: :landing_page, :via =>[:get, :post]
# resources :guestlists
end
event_controller:
def landing_page
@event = Event.find(params[:id])
end
当我打开登录页面时,出现以下错误:
“ ActiveRecord :: RecordNotFound(找不到没有ID的事件):”
答案 0 :(得分:0)
万一有其他人遇到这个问题,我想在这里记录Sergio的最后评论,我认为这会导致我认为大多数人都希望得到的结果。将其嵌套在成员块中应该会为您带来理想的结果:
resources :events do
member do
get :landing_page
end
end
运行rake routes
现在应该显示/events/:id/landing_page(.:format)
,因此您可以使用在show方法中使用的方法,该方法只要求params[:id]
。
在这一点上,我的大脑一直处于挣扎状态,因为互联网上的资源似乎正在减少。