捕获哪个用户创建了帖子

时间:2011-02-05 18:22:33

标签: ruby-on-rails

这一定是非常基本的(我是初学者),但我找不到答案。从会话中捕获用户ID并将其粘贴到给定帖子的user_id字段的最佳方法是什么?

(用户has_many:帖子和帖子belongs_to:users)

def create

 @post = Post.new(params[:post])   (<---I want to get the user id from the session into here?)

end

2 个答案:

答案 0 :(得分:4)

假设您正在以可以使用方法调用(current_user)访问当前用户的方式处理身份验证:

def current_user
  @current_user ||= User.find(session[:user_id])
end

假设您的模型设置如下:

class User
  has_many :posts
end

class Post
  belongs_to :user
end

您实际上可以使用current_user创建一个关联的帖子,如下所示:

current_user.posts.create(params[:post])

答案 1 :(得分:0)

请:

params["post"].merge!({"user_id" => your_variable})

无论如何,Dogbert问你一个很好的问题。