【发布时间】:2011-03-18 04:04:57
【问题描述】:
我收到此错误:undefined method 'vote_sum' for nil:NilClass
在我看来这行部分:<p id='votes'><%= pluralize @video.vote_sum, 'Votes' %></p>
我不明白为什么,因为vote_sum 是视频表中的一列。以下是我的Video 模型中的一些相关逻辑:
def vote_sum
read_attribute(:vote_sum) || video_votes.sum(:value)
end
还有我的VideoVote 模特:
after_create :update_vote_sum
private
def update_vote_sum
video.update_attributes(:vote_sum => video.vote_sum + value)
end
知道为什么@video.vote_sum 在我看来是未定义的部分吗?
更新:
这是我的 video_votes 控制器的 create 方法中的相关代码:
@video = Video.find(params[:video_vote][:video_id])
@vote = @video.video_votes.new
【问题讨论】:
-
您确定在您的控制器中定义了@video?可以添加控制器代码和调用partial的视图吗?
-
我从 video_votes 控制器中发布了相关代码。我不认为呈现部分的视图是相关的,但呈现部分的视图是位于视图目录内的视频目录中的另一个部分。
标签: ruby-on-rails ruby ruby-on-rails-3 undefined