Ruby on rails Rails 3:获取一个;未定义的“平均”评级方法&x27;对于nil:NilClass“;

Ruby on rails Rails 3:获取一个;未定义的“平均”评级方法&x27;对于nil:NilClass“;,ruby-on-rails,ruby,nomethoderror,Ruby On Rails,Ruby,Nomethoderror,我把 在我的“msg.rb”中 在视图home/_msgs_list.html.erb中 我不完全理解def average_rating方法是如何工作的(我从中复制了代码),所以我得到了nil:nilclass的nomethoderror。有人能帮忙吗?谢谢。您的问题不一定是平均评分的问题。这是因为@msg根本没有定义 确保视图的控制器正确定义了@msg 如果您遇到@msg可能存在或不存在的情况(这应该会发生),您可以通过执行以下操作来避免错误: <div id="avg_r

我把

在我的“msg.rb”中


在视图home/_msgs_list.html.erb中

我不完全理解def average_rating方法是如何工作的(我从中复制了代码),所以我得到了nil:nilclass的nomethoderror。有人能帮忙吗?谢谢。

您的问题不一定是
平均评分的问题。这是因为
@msg
根本没有定义

确保视图的控制器正确定义了
@msg

如果您遇到
@msg
可能存在或不存在的情况(这应该会发生),您可以通过执行以下操作来避免错误:

    <div id="avg_rating">
        <%= @msg.average_rating %>
    </div>
你能找到堆栈跟踪吗?
    <div id="avg_rating">
        <%= @msg.average_rating %>
    </div>
<%= @msg.try(:average_rating) %>
<%= @msg.average_rating if @msg %>