如何在设计中使用当前用户

How to use current user in devise

我正在尝试使用 rails (6.0.0) 创建一个网站。我正在为用户注册和登录系统使用设计库。现在我的问题是 "How to use current user's id for creating the post (user_id is required in post model)."

这是我的app/controllers/posts_controller.rb

def create   
   @post = Post.new(post_params)   
   if @post.save   
     flash[:notice] = 'post added!'   
     redirect_to 'posts'   
   else   
     flash[:error] = 'Failed to edit post!'   
     render :new   
   end   
end   

def post_params   
   params.require(:post).permit(:name, :picture, :user_id, :description)   
end   

使用 @post = current_user.posts.new(post_params) 以便 activerecord 设置正确的 user_id。

在设计中,您可以使用助手 current_user 来获取登录用户。使用此助手,您将访问用户(或您的模型),因此您可以使用 current_user.id 获取登录的用户 ID。