我已经清理了我的深层路线,并用浅层路线替换了它们,这要感谢大量输入。我试图找到一种自定义的方法,并且缺少连接点的东西。我的routes.rb有这些行:Rails路线为嵌套的浅层资源上的方法
resources :members, shallow: true do
resources :events, shallow: true do
get 'complete' => 'events#complete'
resources :items
end
end
我的目标是能够调用“事件/:ID /完整的”一个事件一个事件来完成它,做它后处理。上述航线增加了这个路线如下:
event_event_complete GET /events/:event_id/complete(.:format) events#complete
member_events GET /members/:member_id/events(.:format) events#index
POST /members/:member_id/events(.:format) events#create
new_member_event GET /members/:member_id/events/new(.:format) events#new
edit_event GET /events/:id/edit(.:format) events#edit
event GET /events/:id(.:format) events#show
PATCH /events/:id(.:format) events#update
PUT /events/:id(.:format) events#update
DELETE /events/:id(.:format) events#destroy
目前控制器动作:
def complete
@event = Event.find(params[:event_id])
end
我怎么想它应该是:
def complete
@event = Event.find(params[:id])
end
好像我把它错放置或丢失东西,因为它将事件传递为:event_id而不是:id。一切正常,但似乎这是混乱,那么它应该是,所以我敢打赌,我正在做一些愚蠢的错误。
在此先感谢您的帮助!
马克
这工作就像一个魅力。再次感谢您的时间和帮助,非常感谢! – MechDog
很高兴再次帮助:) –