частичное в шаблоне двух разных моделей - PullRequest
0 голосов
/ 18 декабря 2010

Я сделал эту левую панель навигации, как показано на рисунке ниже, в модели Drummer и Video, alt text Поэтому я решил использовать частичный _drummers_list.html.erb

<div id="columnleft">
<img src="/img/alldrummerup.png" alt="" width="150" height="60" />
<% @drummer_list.each do |d| %>
<%= link_to d do%>
<%= d.first_name + ' ' + d.last_name %>
<% end %>
<% end %>
<img src="/img/drummerdown.png" alt="" width="96" height="42" />
</div><!--columnleft-->

Проблема в том, что переменная экземпляра @drummer_list доступна только в контроллере ударника, поэтому мне нужно записать ее снова в видеоконтроллере, так как из-за принципа СУХОЙ, я думаю, что имеет смысл использовать какой-то метод только один раз написать @drummer_list используйте его повсюду

Я не тратил слишком много времени на изучение языка Ruby, это основа Rails, я думаю, поэтому не могу понять.

1 Ответ

0 голосов
/ 18 декабря 2010

Вы можете определить метод в application_controller.rb, который будет использоваться для обоих других контроллеров. Может быть так:

def find_drummers
  @drummer_list = Drummer.find :all
end

Тогда просто позвоните с контроллера ударника и видеоконтроллера. Я предполагаю, что ваш метод может быть более сложным. Вы также можете поместить метод поиска в объект модели Drummer и вызвать его с двух контроллеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...