Если вы используете @myarr
только в поле зрения и оно не требуется в логике контроллера, я считаю, что она становится ролью Помощников . Вы можете просто определить метод в помощнике (application_helper.rb
или page_helper.rb
), я предпочитаю создать помощника для контроллера, например:
module PageHelper
def my_list
[{ville_id: '1', ville_name: 'Paris', population: 2000000, pays: 'France'},
{ville_id: '2', ville_name: 'Madrid', population: 3000000, pays: 'Espagne'},
{ville_id: '3', ville_name: 'Marrakech', population: 1000000, pays: 'Maroc'},
{ville_id: '4', ville_name: 'Tokyo', population: 9000000, pays: 'Japon'},
{ville_id: '5', ville_name: 'Istanbul', population: 15000000, pays: 'Turquie'}]
end
end
Тогда это очистит ваш контроллер, и в view
вы должны использовать его следующим образом:
<% my_list.each do |myarr| %>
<tr>
<td><%= myarr.ville_id %></td>
<td><%= myarr.ville_name %></td>
<td><%= myarr.population %></td>
<td><%= myarr.pays %></td>
</tr>
<% end %>
Конечно, вы можете настроить my_list
, задав ему параметры и заставить его работать так, как вам нравится, я предпочитаю этот способ, но помните, когда только эта переменная экземпляра @myvar
необходима только в слое вида, надеюсь, это поможет.