我为我的评论设置了多态关联设置。它似乎终于可以正常工作并正确保存所有数据。不过,我无法通过这种关系来提取评论者的姓名。
<div class="span5">
<%= comment.commenter.name %>
<%= comment.body %>
</div>
我的评论数据库中的数据是正确的。Commenter 对应于 user_id。
<Comment id: 9, commenter: 2, subject: nil, body: "whaa", commentable_id: 1, commentable_type: "User", created_at: "2012-09-11 14:58:36", updated_at: "2012-09-11 14:58:36">
这里的模型:
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
attr_accessible :body, :commentable_id, :commentable_type, :commenter, :subject
end
class User < ActiveRecord::Base
has_many :comments, :as => :commentable
accepts_nested_attributes_for :comments, :reject_if => lambda { |a| a[:body].blank? }
end
谢谢!