belongs_to association - 我该怎么称呼它?

时间:2014-12-16 00:20:49

标签: ruby-on-rails belongs-to

愚蠢的问题,但我找不到一个例子。 。

我的用户模型has_many评论。我的评论模型belongs_to用户。 Comments表有一个user_id列,我已经将其包含在我的db:seeds文件中。每条评论都有一个user_id。

那么我该如何引用评论的用户呢? “Comment.user”似乎应该可以工作,但我不断收到错误消息,说用户是nil,或者是一个未定义的方法。

特别是,我想通过评论来引用用户的属性,例如comment.user.avatar。

2 个答案:

答案 0 :(得分:0)

当您尝试访问用户或实际的实例对象时,您是指“类注释”吗?做类似以下的事情应该有效:

@user = User.new(username: "Bob")
@comment = Comment.new(comment: "Hello World!", user: @user)
puts @comment.user.username

但是,如果您正在使用Comment.user,则会失败,因为您没有引用特定实例,而是引用模型本身。如果是这样,那将解释导致错误的原因。

答案 1 :(得分:0)

陌生人和陌生人。 。 。今天,我没有收到令人困惑的错误消息。所以我的代码确实有效! 为了防止人们在将来查看这个问题,我会在我的问题中做我应该做的事情,并展示更多我的代码。同样,评论属于用户。

    - @comments.each do |com|
      = markdown com.body
      %small
        submitted
        = time_ago_in_words(com.created_at)
        ago by
        = image_tag(com.user.avatar.tiny.url) if com.user.avatar?
        = link_to((com.user.name || com.user.email), com.user)
        %br

感谢您的投入,@ raxnic!