我試圖讓我的頭繞着rails的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查找,但不推薦使用它。 –