在application.html.erb中调用post.title会为nil生成错误的未定义方法`each':NilClass

时间:2015-04-17 06:57:16

标签: ruby-on-rails ruby-on-rails-4.2

我在application.html.erb中有侧边栏。

<div class="well sidebar-nav">
        <h3>Rewards</h3>
        <% @rewards.each do |reward| %>
        <ul class="nav nav-list">
          <li class="nav-header"><%= reward.title %></li>
          <li><%= reward.price %></li>
          <li><%= reward.image_url %></li>
          <li><%= reward.details %></li>
          <li><%= reward.estimated_delivery %></li>
          <li><%= reward.claimed %></li>
        </ul>
        <% end %>
      </div><!--/.well -->

我通过以下方式生成奖励:rails g scafford Rewards ....以下属性。

我的奖励观点运作正常。但当我在其他页面上时,我收到此错误

undefined method `each' for nil:NilClass

我知道这是因为我的application.html.erb正在appcontroller中寻找@rewards而它不在那里。但我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

如果您希望在应用程序范围内使用它,则应在before_filter的{​​{1}}中进行设置:

application_controller