我收到此错误
#ActiveRecord的未定义方法`created_at'::关系:0x0000001c3f57e8
控制器
@user = User.find_by_username(params[:username])
@post = @user.comment_threads
if @post
last_time = @post.created_at
if Time.now - last_time <= 0.5.minute
redirect_to messages_received_path
flash[:notice] = "You cannot spam!"
return
end
end
答案 0 :(得分:3)
因为此行@post = @user.comment_threads
会向您返回ActiveRecord::Relation
的对象。最好在该句子的末尾添加.last
或.first
,这样您就可以拥有一个Post
对象。
答案 1 :(得分:2)
@post = @user.comment_threads
返回post对象的数组。因此,对整个数组尝试created_at
而不是任何post
对象。
这应该有所帮助。
if @post
last_time = @post.last.created_at
if Time.now - last_time <= 0.5.minute
redirect_to messages_received_path
flash[:notice] = "You cannot spam!"
return
end
end