2017-06-05 9 views
0

私はAPIを作成するためにRails 5を使用しています。私のコントローラは、以下のようになります。Rails 5では、コントローラにcurrent_user.idを注入する方法#create method

.... 
    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 

作成方法では、私はRailsの5で:user_id => current_user.idを追加することができますどのように、これはuser_position_paramsにすべきですか? createはかつて、「実行」されているデータベース上のuser_position_paramsで新しいレコードを存続れるよう

おかげ

答えて

1

は、新しいUserPositionインスタンスを設定する代わりにnewを使用することができ、その後からidとしてuser_idを設定しますcurrent_userは、この後、あなたはsaveそれは、で試すことができます。

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

は、1行目に、既に作成wが保存されたデータベース・レコードはありませんか? – AnApprentice

+1

私は 'save'を使って@AnApprenticeの答えを更新しました。 –

+3

アソシエーションが設定されている場合、それは 'current_user.user_positions.create(user_position_params)' – Iceman

関連する問題