【问题标题】:Undefined method error for a >= symbol.>= 符号的未定义方法错误。
【发布时间】:2016-07-01 20:19:42
【问题描述】:

我已经为每个被推荐到该页面的人构建了一个带有推荐计数器的目标网页生成器。当新订户订阅时,将被重定向到推荐页面。

在页面的第一个订阅者之后,所有后续订阅者都会抛出此错误

ActionView::Template::Error (undefined method `>=' for nil:NilClass)

我在rewards/index.html.erb 部分的推荐页面上有一个奖励列表。如果 refence_count 大于或等于该奖励所需的推荐计数,我正在使用引导程序和一个简单的 if 语句将奖励颜色变为绿色。

这是奖励/索引部分

<div class="row">
    <% @rewards.each do |reward| %>
        <div class="col-md-3">
        <% if user_signed_in? %>
            <%= link_to 'Delete', reward, class: "glyphicon glyphicon-trash", method: :delete, data: { confirm: 'Are you sure?' } %>

        <% end %>
            <div class="box">

        <% if @subscriber.reference_count >= reward.referral_count_required %>
          <a href="javascript:void(0)" class="btn btn-success btn-fab"><i class="material-icons"><%= reward.referral_count_required %></i></a>
        <% else %>
           <a href="javascript:void(0)" class="btn btn-warning btn-fab"><i class="material-icons"><%= reward.referral_count_required %></i></a>
        <% end %>

          <h4><%= reward.name %></h4>
          <h4><%= reward.discount %></h4>
        </div>
    </div>
   <% end %>
  </div>

我需要更改什么以避免此错误?

【问题讨论】:

  • 它清楚地表明@subscriber.reference_count 为零。签入控制器@subscriber 是否获得其'reference_count。 @user3787971

标签: ruby-on-rails twitter-bootstrap symbols


【解决方案1】:

您发布的代码没有问题;错误消息告诉您,在评估 if 条件时,@subscriber.reference_count 为 nil,并且没有 >= 方法。听起来有些内容没有在应有的地方更新。

【讨论】:

  • 是的,这是正确的。我刚刚进入 Rails 控制台并将 @subscriber.reference_count 设置为 = 0,它开始工作.. 现在需要找出没有正确设置的地方。
猜你喜欢
  • 2014-01-08
  • 1970-01-01
  • 2012-06-19
  • 2012-10-10
  • 2013-10-22
  • 2014-06-01
  • 2015-11-13
  • 1970-01-01
相关资源
最近更新 更多