0

我有三个模型用户、博客和评论。

用户.rb

class User < ActiveRecord::Base
  attr_accessible blah blah      
  has_many :blogs
  has_many :comments
end

博客.rb

class Blog < ActiveRecord::Base
    attr_accessible :user_id, :title, :content
    belongs_to :user
    has_many :comments
end

评论.rb

class Comment < ActiveRecord::Base
    attr_accessible :user_id, :blog_id, :comment
    belongs_to :blog
    belongs_to :user
end

在评论控制器的创建动作中

def create
    @blog = Blog.where('id=?', params[:blog_id])
    @comment = @blog.comments.new(params[:comment])
    @comment.save
end  

在这里,我将如何在评论表的 :user_id 字段中传递 current_user 的 id,我可以为此创建一个隐藏字段,但这并不安全。请帮忙!提前致谢。

4

1 回答 1

1

这会做你想要的吗?

def create
  @blog = Blog.where('id=?', params[:blog_id])
  @comment = @blog.comments.new(params[:comment])
  @comment.user = current_user # force the user to be the logged-in user
  @comment.save
end 
于 2013-09-11T05:54:03.447 回答