在Rails 5中,如何将current_user.id注入到控制器#create方法中

时间:2017-06-05 00:17:57

标签: ruby-on-rails ruby-on-rails-5

我使用Rails 5创建API。我的控制器如下所示:

  ....
  def create
    @user_position = UserPosition.create(user_position_params)
    json_response(@user_position)
  end

private

  def user_position_params
    params.require(:user_position).permit(:job_title_id)
  end

  def json_response(object, status = :ok)
    render json: object, status: status
  end

end

在create方法中,如何添加:user_id => current_user.id使用Rails 5,这应该在user_position_params中吗?

由于

1 个答案:

答案 0 :(得分:1)

由于create会在数据库中保留user_position_params的新记录一旦“执行”,您可以使用new来设置新的UserPosition实例,然后将user_id设置为id中的current_user,之后,您可save尝试使用:{/ p>

@user_position = UserPosition.new(user_position_params)
@user_position.user_id = current_user.id
@user_position.save