私はrailでnamed_scopedのクエリの概念を頭に入れようとしています。 テーブルをフィルタリングして、非特典アイテム(:featured => false)のみを取得しようとしています。私はリストにしようとしている機能を備えた、(特集=>真)Railsとnamed_scopeのクエリ
: と スコープ:(=>偽の特色)allgamesを、:私は
範囲を追加している私のモデルでは
すべてのフィーチャーとノンフィーチャーアイテムを私のゲームインデックスページに別々に表示します。
名前付きスコープで可能ですか?
これまでのところ、私が持っている:
<% @games.each do |item| %>
<% if item.featured %>
<%= render 'application/item_synopsis_builder', item: item %>
<% end -%>
<% end %>
をそして、のような何かを行うことが可能である場合、私は疑問に思う:私はメッセージを取得しようとすると
<% @games.featured.each do |item| %>
<%= render 'application/item_synopsis_builder', item: item %>
<% end %>
または
<%= render partial: 'application/item_synopsis_builder', collection: @games.featured %>
方法がないと言っています。 しかし、コンソールでコマンドGame.featured
を実行すると、すべてのおすすめゲームの結果リストが表示されます。
ビュー内でこのリスト/メソッドにアクセスできますか?
私はコントローラでそれを試したところ、正常に動作します。ちょうどそれが正面視線に邪魔されることなくアクセスできると思った。とにかく、それはちょうど素晴らしいです。あなたの助けをありがとう –
ビューでこれを直接行うには、コントローラでインスタンス変数を設定するのではなく、ビューでGames.featuredを使用します。 <%Games.featured.each do | item | %> –
データアクセスの適切な場所はコントローラ内です。ビューやヘルパーでActiveRecordを見つけることはできますが、これはお勧めできません。 –