0
組織の新しいイベントを作成するフォームがあります。ルーティングは次のとおりです。Rails 3パスが期待通りに機能しない
resource :organisations do
resource :events
end
私のようなバックイベントコントローラでshowアクションに成功Iルート上で、イベントを編集する場合:私は、イベントを作成すると
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
が、私もそれをしたいですNo route matches {:action=>"show", :controller=>"events"}
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
はしかし、これは次のエラーを生成します。以下のようなイベントにリダイレクトするためには実装され、作用を示します
これは、私が把握できる限り、URIにはイベントID /名前が含まれていないためです。パス生成の理解が不足している可能性がありますが、どうすれば結果が得られますか?
私はあなたの組織が組織IDによって認識されるように、イベントが組織の下に作成されるため、redirect_toのorganisation_event_pathにして組織IDを渡す必要があると思います。 –