Я пытаюсь разобраться с концепцией запросов 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
в консоли, я получаю список результатов всех признанных игр.
Доступ к этому списку/методам доступен при просмотре?
Yop Я просто попробовал это в контроллере, и он отлично работает. Просто подумал, что можно получить доступ к нему, чтобы просмотреть его. Во всяком случае, это просто потрясающе.Спасибо за вашу помощь. –
Чтобы сделать это прямо в представлении, используйте Games.featured в представлении вместо установки переменной экземпляра в контроллере. <% Games.featured.each do | item | %> –
Правильное место для доступа к данным находится в контроллере. Хотя вы можете делать ActiveRecord find в представлениях или помощниках, это не рекомендуется. –