2016-09-27 18 views
2

私はjqueryの記事を書こうとしています。jQueryを作成するにはどのようにレールコントローラの投稿に一致する投稿

私は、標準のレールコントローラとフォームを通じてそれを行う場合は、これが成功した記事です:jQueryを使って

Started POST "/languages_users" for 127.0.0.1 at 2016-09-27 12:45:16 -0400 

Processing by LanguagesUsersController#create as HTML 

Parameters: {"utf8"=>"✓", "authenticity_token"=>"flRhWjgP3p4sUpFkZUurIr3CJBITQ+j+2FKQYNHwN4t8Mo5rh+UCPvhPgu0ORKVioK+JvYsHInSkHUofm7iyqA==", "languages_user"=>{"language_id"=>"1", "level"=>"5"}, "commit"=>"Save Native Language"} 

、これは私のポスト要求である:

$.post("/languages_users", { language_id: confirmedUserNativeInt, user_id: userId, level: 5 }) 

しかし、これは結果であり、 :

Started POST "/languages_users" for 127.0.0.1 at 2016-09-27 12:46:27 -0400 
Processing by LanguagesUsersController#create as */* 
    Parameters: {"language_id"=>"2", "user_id"=>"1", "level"=>"5"} 


ActionController::ParameterMissing (param is missing or the value is empty: languages_user): 
    app/controllers/languages_users_controller.rb:123:in `languages_user_params' 
    app/controllers/languages_users_controller.rb:71:in `create' 

これらのパラメータをlanguages_userという配列として渡していないという問題はありますか?それらのすべてのパラメータをlanguages_userに割り当てる方法はありますか?なぜこの投稿が欠落しているparamで戻ってくるのかについての洞察は高く評価されます。

ありがとうございます!

+1

はたぶん、あなたは、あなたが言うように、jQueryので送られたオブジェクトのparamsに新しいレベルを追加する必要があります。 'code' {languanges_user:{language_id:confirmedUserNativeInt ....}}' code'です。あなたはそれを試しましたか? – Kanfor

答えて

1

あなたはまた、メインキーlanguages_user必要、これを試してみてください。

$.post("/languages_users", { languages_user:{ language_id: confirmedUserNativeInt, user_id: userId, level: 5 } }) 
+0

それはまさにそれです!ありがとうございます - 私は 'languages_user => {language_id ....}'をしようとしていました。私は正しい構文を理解することができませんでした。本当にありがとう! – gwalshington

関連する問題