0
我有一個表單來爲組織創建新事件。路由是:Rails 3路徑無法按預期方式工作
resource :organisations do
resource :events
end
當我編輯的事件,就成功,我回路由在事件控制器秀行動,例如:
def update
@organisation = current_user.organisations.find(params[:organisation_id])
@event = @organisation.events.find(params[:id])
if @event.update_attributes(params[:event])
# Handle a successful update.
flash[:success] = "Event updated"
redirect_to organisation_event_path
else
render 'edit'
end
end
當我創建一個事件,我也希望它重定向到事件表明動作,實現如下:
def create
@organisation = current_user.organisations.find(params[:organisation_id])
@event = @organisation.events.create(params[:event])
if @event.save
flash[:success] = "Event added!"
redirect_to organisation_event_path
else
render 'new'
end
end
然而,這將產生以下錯誤:No route matches {:action=>"show", :controller=>"events"}
這是因爲URI中沒有事件ID /名稱,據我所知。這可能是我對路徑生成缺乏理解,但我如何才能達到我想要的結果?
我認爲你需要在傳球組織ID到redirect_to的organisation_event_path因爲在組織中創建事件,這樣的組織是組織ID識別。 –