我为每个被引用该页面的人构建了一个带有引荐计数器的登录页面生成器。当新订阅者订阅时,重定向到referral_page。
在页面的第一个订阅者之后,所有后续订阅者都抛出此错误
ActionView::Template::Error (undefined method `>=' for nil:NilClass)
我在推介页面上有奖励/ index.html.erb部分的奖励列表。如果refence_count大于或等于该奖励所需的推荐计数,我使用bootstrap和一个简单的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>
我需要更改哪些内容才能避免此错误?
答案 0 :(得分:0)
您发布的代码没有错;错误消息告诉您,当评估if条件时,@ subscriber.reference_count为nil,并且没有&gt; =方法。听起来有些东西没有得到应有的更新。