私はレールとGoogleマップで簡単なものを試しています。私は緯度、経度、およびアイコンのいくつかの属性を持つマーカーモデルを持っています。私のアプリは標準的なRESTマーカーコントローラーにjsonをポストしています。私のブラウザから見て、JSONは次のようになります。rails 3.1が私のparamsハッシュの一部をラップするのはなぜですか?
(このIDは、フロントエンドでJavaScript MVCによって生成される)ログにが、それはこのようになります
{"latitude":40.666700768608465,"longitude":-99.722078125,"icon":"http://localhost:3000/assets/4.png","id":"C4150EEB-D861-4B36-B69B-154C567F51CB"}
:
Started POST "/markers" for 127.0.0.1 at 2011-11-12 23:41:25 -0700
Processing by MarkersController#create as JSON
Parameters: {"latitude"=>40.666700768608465, "longitude"=>-99.722078125, "icon"=>"http://localhost:3000/assets/4.png", "id"=>"C4150EEB-D861-4B36-B69B-154C567F51CB", "marker"=>{"id"=>"C4150EEB-D861-4B36-B69B-154C567F51CB", "icon"=>"http://localhost:3000/assets/4.png"}}
私のコントローラでは、params[:marker]
にアイコンとID(作成時/更新時に無視される)がありますが、経度と緯度は無視されます。なぜそれはいくつかの属性を入れ、他の属性を残してしまうのでしょうか?私はそれらをすべて持っているattr_accessible
。
私のクライアントサイドのJavaScriptが送信するべきものは何ですか?それは私にはうまく見えます。なぜレールが任意にそれをparamsハッシュに入れているのか分かりません。 – phaedryx
@efedryx:私はRailsが問題だとは思わないが、クライアント側のコードが混乱しているように見える。 JSONは次のようになります: '{" marker ":{" latitude ":40.666700768608465、"経度 ":-99.722078125、" icon ":" http:// localhost:3000/assets/4.png "、" id ":" C4150EEB-D861-4B36-B69B-154C567F51CB "}}'。あなたのJavaScriptにはどのようにデータが組み込まれていますか? –