首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将实例变量从偏移动到帮助器

将实例变量从偏移动到帮助器
EN

Code Review用户
提问于 2013-08-09 00:15:37
回答 1查看 1.1K关注 0票数 1

我想在我的导航中显示一个城镇名称,这取决于我从模型中请求的城镇。下面的代码可以工作,但是我在我的观点中混合了逻辑,我知道这是错误的,并且我还没有成功地从我的@town访问TownsController实例变量。

在这种情况下,有人能带领我进入启蒙之路吗?我应该用帮手吗?如何在我的_header.html.erb部分中访问它?

代码语言:javascript
复制
<li class="name">
   <% @towns = Town.all %>
   <% @towns.each do |t| %>
      <h1><%= link_to "#{t.name}", '#', id: "logo" %></h1>
   <% end %>
</li>
EN

回答 1

Code Review用户

发布于 2013-09-11 14:21:15

_header.html.erb是布局的一部分吗?如果是这样的话,我建议您将这个逻辑移动到助手,如果不是所有控制器都需要设置@town实例变量。

代码语言:javascript
复制
module ApplicationHelper
  def town_names
    Town.all.collect(&:name)
  end
end

在您看来,请调用town_names。我认为您希望每个名称都位于一个li元素中。我已经相应地修改了代码。

代码语言:javascript
复制
<% town_names.each do |name| %>
     <li class="name">
       <h1><%= link_to name, '#', id: "logo" %></h1>
     </li>
   <% end %>
票数 2
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/29538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档