Railsでリダイレクトはどのように機能しますか?私はそれが非常に直感的でなくてイライラしていると思います。
下にビューファイルを追加しました/views/mymodels/custom.html.erb
私は空のコントローラーメソッドを持っています:
def custom
end
私はroutes.rbで以下を持っています:
resources :mymodel do
member do
get 'custom'
end
end
私のコントローラーでは、モデルが次の方法で作成されたときにカスタムビューをレンダリングしようとしています。
respond_to do |format|
if @presentation.save
redirect_to action: "custom"
#format.html { redirect_to @mymodel, notice: 'Presentation was successfully created.'}
#format.json { render json: @mymodel, status: :created, location: @mymodel }
これにより、リダイレクトによって空白のページがレンダリングされます。ただし、ブラウジング/mymodels/[id]/custom
は正常に機能します。私は何が間違っているのですか?なぜどちらも機能しないrender :action => "custom"
のですか?
編集:
これは機能します:format.html { render action: "upload" }
しかし、なぜですか?