: redirect_to(オプション= {}、response_status = {}) リンク
オプションで指定されたターゲットにブラウザをリダイレクト。このパラメータは、次のいずれかを指定できます。
- ハッシュ - このオプションは、オプションでurl_forを呼び出して生成されます。
- レコード - URLは、そのレコードの名前付きURLを参照するオプションとともにurl_forを呼び出すことによって生成されます。
url_for documenation http://apidock.com/rails/ActionView/RoutingUrlFor/url_forをご覧ください。
オプションパラメータとしてハッシュの代わりに(アクティブレコードのような)レコードを渡すと、そのレコードの名前付きルートがトリガーされます。ルックアップはクラス名で行われます。したがって、Workshopオブジェクトを渡すと、workshop_pathルートを使用しようとします。あなたがadmin_workshop_pathのようなネストされたルートを持っているなら、それを明示的に呼び出さなければなりません(url_forがそのルートを推測することは不可能です)。
例:
<%= url_for(@workshop) %>
# calls @workshop.to_param which by default returns the id
# => /workshops/5
ので、基本的に、私たちが言っている、「レコードの胸が張り裂けるの標準的な方法であると言うものは何でもroutes.rbをにこれをリダイレクトしますか」?混乱していても役に立つ。 –
はい、正しく入力してください。個人的には、長期的にはアプリケーションを維持するのが非常に難しく、ルートの検索/置換を実行するのが非常に難しいので、私はそれも気に入らない。私は通常、常に明示的なパスを使用します。 –