我关注的是RyanB的多态关联视频,其中显示了实施评论系统的示例。
http://railscasts.com/episodes/154-polymorphic-association-revised?autoplay=true
我想知道如何将用户名添加到创建新评论的人的数据库中?这样我就可以在视图页面中显示用户名
由于
答案 0 :(得分:5)
有太多方法可以做到这一点
如果您要对评论系统使用身份验证,则应添加一个模型用户进行身份验证(建议使用devise)
class User < ActiveRecord::Base attr_accessible :email, :password, :username has_many :comments end class Comment < ActiveRecord::Base attr_accessible :content, :user_id belongs_to :commentable, polymorphic: true belongs_to :user end
并在控制器上(从repository of 154-polymorphic-association-revised获取)
def create @comment = @commentable.comments.new(params[:comment]) @comment.user_id = current_user.id if @comment.save redirect_to @commentable, notice: "Comment created." else render :new end end
您只需向评论模型添加一个属性(无需身份验证)
class Comment < ActiveRecord::Base attr_accessible :content, :username belongs_to :commentable, polymorphic: true end