我对此错误感到困惑。我没有任何"第一次"无处不在。
调用错误的行如下:
= @wiki.creator.name
我的wiki有很多用户,我的用户有很多wiki,通过名为Relationships的表(属性:wiki_id,:user_id,:creator_created)。 Creator是我在wiki模型中定义的方法:
has_many :relationships
has_many :users, through: :relationships
def creator
self.relationships.find_by(:creator_created == true).user
end
这条线昨天正在运作,我还没有完成任何应该改变它的事情。 。 。但现在我得到了#34; Undefined method' first'为零:Nilclass。"
我已经查过了,@ wiki及其相关关系不是零,所以我不知道是什么。 。
有什么想法吗?
答案 0 :(得分:2)
基本上find_by()
最终会在内部调用first
,这可能是您的错误来源。
不确定为什么你会收到nil
,因为你的find_by
应该解析为where(false)
,这应该仍然是一个有效的对象,但请尝试将其修改为评论者建议的内容