以下のようによくあるストロングパラメータを実装したコントローラがあり、ストロングパラメーターで許可している値以外保存ができないような、user情報を保存するapiがrailsで書かれているとして、vueからpostしてユーザー情報を保存したいです。
しかしvueからpostした時ストロングパラメーターを許可させる方法がわからないです。
vueのdataオプションに記載されている通り、data属性はformInlineというkeyにネストされる形となっています。
しかしこのままだとrequireメソッドの(:user)に許可されずpostが通らないと思うのですが、
どうすればuserにネストさせpostできるでしょうか?
ajax.post("http://localhost:3000/api/v1/users.json", { user_id: this.formInline.user_id, password: this.formInline.nickname, })
この箇所を上手く:userにネストさせる方法がわかりません。
以下が該当ソースコードです。
#user_controller.rb def create @user = User.new(user_params) if @user.save format.json { render :show, status: :created, location: @user } end end def user_params params.require(:user).permit(:user_id, :nickname) end
//resist.vue /*中略*/ data: function() { return{ formInline: { user_id: '', nickname: '', } } }, methods: { onComplete: function(){ axios .post("http://localhost:3000/api/v1/users.json", { user_id: this.formInline.user_id, password: this.formInline.nickname, }) .then((response) => { this.$router.push({ path: '/api/v1/users/'+localStorage.getItem("id") }); }) .catch(error => { alert(error); }) } }
ご教示いただけると幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。