2012-04-23 11 views
1
$.ajax({ 
     type: 'POST', 
     url: '/users', 
     data: { 
      _method : 'PUT', 
      user : { 
       guides : { 
        step1 : true, 
        step2 : true 
       } 
      } 
     } 
    }); 

これは正しく保存されていますか?私はこのjsonデータを直列化されたレールの中に入れたいのですが、以下のように間違って保存するとエラーが発生します。このjQuery AJAXの投稿保存データは間違っていますか?

User.guided:私はレールで次の操作を行う際に

--- "{\"step1\"=>\"true\", \"step2\"=>\"true\"}" 

は次に表示:任意の助けがある

guides = [<%= current_user.guides.try(:html_safe)%>]; 

それはと=>の代わりに期待の出力します感謝。ありがとう

+0

http://stackoverflow.com/question/907910/how-do-i-put-data-to-rails-using-jquery –

+0

sheikh-heera putが上に占めています... – AnApprentice

+0

モデルでシリアル化するuser.guidedフィールドがあります。上記の質問に記載されているJSONの投稿でデータを保存しています。どう思いますか? – AnApprentice

答えて

0

まずJSON.stringify()を使用すると、jQueryは$ .param()を使用してデータをシリアル化します。しかし、あなたの主な問題は、生成されたYAMLではなく、JSON文字列が必要なことです。私の今のところまで

guides = [<%= current_user.guides.to_json %>]; 

はすべきことです。また、100%確かではないかもしれませんが、html_safeを使用する必要はありません。すでにエスケープされているためですが、ビューでどのようにレンダリングされるかはわかりません。

関連する問題