0

所以,我在模型comment.rb中做了这个属性

has_one :user

我的表格是这样的

<% @post.comments.each  do |com| %>
    Comentário<br><%= com.comment %>    
<% end %>

我的问题是,发表评论时如何获得用户?


我有一个问题,我把这个归因于我评论模型:

class Comment < ActiveRecord::Base
  attr_accessible :comment
  belongs_to :post
  belongs_to :user

这在用户模型中

class User < ActiveRecord::Base
  attr_accessible :email, :password, :password_confirmation
  has_many :posts
  has_many :comments

但这不起作用:

  <% post.comments.each do |comment|   %>
    <div id="comments" >
      <%= comment.user.email %>
           <%= comment.comment %>
    </div>
   <%end%>

出现错误:

undefined method `email' for nil:NilClass

请问有什么问题,在创建评论时我做出了属性,请看:

  @comment = @post.comments.create(params[:comment],:user_id => current_user.id)

请问我如何解决这个错误

4

1 回答 1

2

例如,您只需添加此代码<%= com.user.username %>即可显示用户的用户名

于 2013-01-03T18:28:37.693 回答