コントローラのデフォルトアクションがどこに定義されているのだろうか。インデックスアクションを記述しなくても、インデックスビューをレンダリングすることができます!私はレールのソースコードを読んでいましたが、メソッドが宣言している場所に移動できます。私はその行動が経路によって知られていると思う。誰もが私がレールのソースコードでそれらを見つけることができる場所を知っています。Railsコントローラアクション
0
A
答えて
1
あなたはアクション名を定義さえせずにテンプレートがある場合には、デフォルトのレンダリング呼び出しますrails/actionpack/lib/action_controller/metal/implicit_render.rb
def method_for_action(action_name)
super || if template_exists?(action_name.to_s, _prefixes)
"default_render"
end
end
Railsの中で見ることができました。
+0
テンプレートレンダリングではなく、アクションが定義されている場所を知る必要があります。 – Daniel
+0
アクションが定義されていません。 上記のメソッドの本文からわかるように、インデックスアクションを記述しなくても、インデックス用のビューテンプレートがある限り、Railsは 'default_render'メソッドを使ってうまくレンダリングします。 – xuanduc987
関連する問題
- 1. Rails link_toコントローラアクション
- 2. railsコントローラアクション+レンダリングのバグ
- 3. railsコントローラアクションとjavascript onclick
- 4. jquery mobileとRails RESTfulコントローラアクションの使用
- 5. rails 3 button_to:remote => true、コントローラアクションの外観は
- 6. Rails API:1つのリクエスト、複数のコントローラアクション
- 7. Jquery&Rails 3:jsファイルからコントローラアクションを実行しますか?
- 8. ヘルパー内で「includable」Railsコントローラアクションを作成する
- 9. Rails 5の特定のコントローラアクションのconfig.middleware.useをスキップする方法
- 10. Rails:別のコントローラアクションにフォームポストを作る方法
- 11. Rails内のすべてのコントローラアクションをラップする
- 12. MVCコントローラアクションのLINQナビゲーションプロパティ?
- 13. Grailsコントローラアクション抽象コマンドオブジェクトパラメータ
- 14. SailsJS:コントローラアクションへのリダイレクト
- 15. ajaxコールから1つのコントローラアクションから別のコントローラアクションへのリダイレクト
- 16. コントローラアクションから別のコントローラアクションへのデータの受け渡しcakephp
- 17. WebコントローラアクションからAPIコントローラアクションにファイル(IFormFile)を送信する方法?
- 18. Rails 4のコントローラアクションにモジュールを含めるための未定義のメソッドエラー
- 19. railsコマンドラインからローカルサーバを実行してコントローラアクションを呼び出す方法
- 20. Rails 4 - コントローラアクションがhtmlとjsonレスポンスの両方をログに記録する理由
- 21. コントローラアクションzf2でjavascriptを追加
- 22. JSON Writing Converter for Playコントローラアクション
- 23. コントローラアクションの出力をキャプチャ
- 24. ビューコンポーネントからコントローラアクションにリダイレクト
- 25. POSTを介してコントローラアクションから別のコントローラアクションにデータを渡す方法
- 26. コントローラアクション仕様のRspecのリクエストリクエストルーティングをトレース
- 27. コントローラアクション用のバインディングモデルの代替手段
- 28. IIS ShutDownTimeLimit Web APIコントローラアクションの再トリガー
- 29. フォームアクションをコントローラアクションに変更する
- 30. Symfony2 TwigからコントローラアクションへのPOST値
あなたはRESTfulなリソースを扱っていると思いますので、RailsはURLを認識し、インデックスアクションをレンダリングすることを知っています。インデックスアクションを定義していないにもかかわらず、コンベンションオーバーのコンベンションが勝利します。なぜこれを知る必要がありますか? –
これはレールがどのように処理するのかを知る必要があります。 – Daniel
railsがコントローラ内でインデックスアクションなしでインデックスアクションをレンダリングするのは、それが(通常は 'resources:users')と一致するルートを宣言し、レンダリングするインデックステンプレートがあるからです。これらの2つがなければ、レールはエラーを発生させます。 – jvnill