我想在我的导航中显示一个城镇名称,这取决于我从模型中请求的城镇。下面的代码可以工作,但是我在我的观点中混合了逻辑,我知道这是错误的,并且我还没有成功地从我的@town访问TownsController实例变量。
在这种情况下,有人能带领我进入启蒙之路吗?我应该用帮手吗?如何在我的_header.html.erb部分中访问它?
<li class="name">
<% @towns = Town.all %>
<% @towns.each do |t| %>
<h1><%= link_to "#{t.name}", '#', id: "logo" %></h1>
<% end %>
</li>发布于 2013-09-11 14:21:15
_header.html.erb是布局的一部分吗?如果是这样的话,我建议您将这个逻辑移动到助手,如果不是所有控制器都需要设置@town实例变量。
module ApplicationHelper
def town_names
Town.all.collect(&:name)
end
end在您看来,请调用town_names。我认为您希望每个名称都位于一个li元素中。我已经相应地修改了代码。
<% town_names.each do |name| %>
<li class="name">
<h1><%= link_to name, '#', id: "logo" %></h1>
</li>
<% end %>https://codereview.stackexchange.com/questions/29538
复制相似问题