上記のように、インデックスアクションでは@moviesが使用されますが、showアクションでは@movieが使用されます。それが複数であるか単数であるかはどのようにして決定されますか?Ruby on Railsでは、なぜコントローラの中にはいつも、複数であり、時にはそれが単数形ですか?
答えて
@movies
および@movie
は、定義方法を選択するインスタンス変数です。あなたの例では、@movies
がモデルからの映画のコレクション全体に割り当てられているため、通常は複数の変数が割り当てられています。 @movie
は1つのレコードに割り当てられているため、従来は単一変数が割り当てられていました。
インスタンス変数には任意の名前を付けることができますが、Railsは設定よりも規約を優先します。
確かに。しかし、それだけでなく、Railsのconventioです。私は 'movies'がどの言語のスクリプトでも' movie'オブジェクトのコレクション(set、array、list、...)を保持すると期待しています。 –
通常、配列の場合は複数を使用し、1つのオブジェクトの場合は特異なものを使用します。
@ Dithanialの回答に追加すると、表示操作をクリックしたときによく分かるように、特定のレコードだけが表示されます。そこで、以下のコードで:
def show
@movie = Movie.find(params[:id])
@actors = @movie.actors
end
インスタンス変数それのIDをベースとしたコンテンツを表示するには、特定のアイテムを見つける@movie。
インデックスでは、すべてのムービーを取得するので、すべてのムービーをリストすることができます。
他のコントローラの方法では、通常の1つのムービーを編集しています。
@movies
対@movies
は実際には関係ありません。あなたはそれを@banana
と名付けることができます。しかし、ファイル名(モデル=単数形、コントローラー=複数形)、複数形が関係するアクティブレコード関係(参考資料)など多くのケースがあります。
- 1. 単数形も複数形のときにRuby on Railsリソースを扱う?
- 2. Ruby on rails:複数のコントローラを1つのビューに表示
- 3. なぜ私の変数がNilですか? - Ruby on Rails
- 4. Ruby&Ruby on Railsで数学的な強みを持つアプリケーションはどこにありますか
- 5. Ruby(Rails)でシンボルを複数形にするには?
- 6. "Ruby on Rails gem"のようなものはありますか?
- 7. TFS2010のビルドキューには、複数のInProgressビルドがあり、時にはそうではない - ロジックは何ですか?
- 8. Ruby On Railsのバージョンが異なるのはなぜですか?
- 9. laravel 5.5コントローラ名は複数でも単数でもかまいませんか?
- 10. SidekiqでRuby on Railsの複数のワーカー
- 11. Ruby on Railsで1つのモデルしかないときに複数のテーブルにレコードを追加するには?
- 12. Ruby on Rails 3のRuby on Rails Ajaxスキャフォールドジェネレータはなんですか?
- 13. Ruby on Railsでのアサート - 簡単な方法はありますか?
- 14. Ruby on Railsでユーザー設定を複数のページに分割する最も良い方法は何ですか?
- 15. Ruby on Railsデータベースがロードされないのはなぜですか?
- 16. Ruby on Rails/Paperclipフォームが表示されないのはなぜですか?
- 17. は、Ruby on Railsフレームワークの中でfind_by_controllerというコア関数がありますか?
- 18. Ruby on Railsの複数ネストフォーム
- 19. Ruby on Rails - 変数の中の変数
- 20. Ruby on Railsで開発されたフレームワークはありますか
- 21. ruby on railsはロードに時間がかかります
- 22. 単数形/複数形を扱うRailsの方法は何ですか?
- 23. 複数のユーザーがRuby on Railsのサインアップビュー
- 24. JavascriptエラーRuby on Rails 5の "Uncaught TypeError:element.popoverが関数ではありません"
- 25. Rubyコントローラで複数の変数を印刷するには?
- 26. Ruby on Railsの更新モデルで、複数の行が1つの形式で表示される
- 27. Ruby on Railsのコントローラクラスにはどのようなものが必要ですか?
- 28. Ruby on Rails:検索が機能しないのはなぜですか?
- 29. Ruby on Rails:1つのアプリケーションでherokuの複数のposgtgresqlデータベースにアクセスすることは可能ですか?
- 30. 高度なRuby on Railsチュートリアルはどこにありますか?
マップされているRailsとhttp動詞のアクションについて読む必要があります。 [はじめに](http://guides.rubyonrails.org/routing.html) –