0

ここ数週間、Rails の double render エラーに悩まされています (このアクションでは、render や redirect が複数回呼び出されました。render または redirect のみを呼び出すことができることに注意してください。 )。

次のようなステートメントがある場合、私はそれを理解しました:

redirect_to action_name and return

二重レンダリング エラーが発生します。ただし、action_name_path というルートを指定して、次のようなステートメントを実行すると:

redirect_to action_name_path

二重レンダリング エラーが発生しなくなりました。何故ですか?

4

1 に答える 1

0

redirect_to は、別のコントローラーまたは外部 Web ページに移動するために使用する必要があり、自動的に何かを返します...

redirect_to を使用する場合、レンダリングするコントローラーとアクションを指定する必要があります。これを行うには、ルート (action_name_path(:params[])) を呼び出します。

同じコントローラーで他のメソッドを呼び出したり、別のビューをレンダリングしたりする場合は、コントローラーをレンダリングする必要はありません。redirect_to の代わりに、render メソッドを使用できます。

ドキュメントを参照してください

于 2013-01-30T17:08:56.710 に答える