Как использовать текущего пользователя в разработке - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь создать сайт с рельсами (6.0.0). я использую библиотеку devise для регистрации пользователей и системы входа в систему. теперь мои вопросы: «Как использовать идентификатор текущего пользователя для создания поста (user_id требуется в модели поста)».

это мой 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   

Ответы [ 2 ]

3 голосов
/ 12 октября 2019

Используйте @post = current_user.posts.new(post_params), чтобы activerecord установил правильный user_id.

1 голос
/ 13 октября 2019

В devise вы можете использовать помощника current_user, чтобы получить зарегистрированного пользователя. С этим помощником вы получите доступ к пользователю (или вашей модели), поэтому вы можете использовать current_user.id для получения идентификатора зарегистрированного пользователя.

...