私の既存のRuby on Railsアプリケーションでは、私のビューファイルの1つにJavaScriptオブジェクト(ハッシュ)があります。フォームの提出中にハッシュをコントローラに戻す必要があります。 JSON.stringify(hash_name)メソッドを使用して、ハッシュをJSONに変換しました。しかし、それは文字列を生成し、私はコントローラのハッシュのように見える文字列を得ることができます。私の目的はそうではありませんでした。逆参照された値をデータベースに保存できるように、コントローラのハッシュを逆参照する必要があります。javascriptオブジェクトからrubyハッシュへの変換
私のハッシュは以下のようになります、私はコントローラにそれを印刷していたときに、次のように:文字列を
{"Bearing":[["Jeekay",0],["Ecodrive",0]],"Civil":[["Nirlon",0],["SKF",0]],"Compressor":[["Jeekay",0],["Ecodrive",0],["SKF",0]]}
をそして、それはそれのようにあるべきではありません。
私は私の視野に隠れたフィールドを持っています。私は隠しフィールドの値にハッシュを入れて、私のコントローラでは、私のようにデータを取得しています
$("#javascript_data").val(JSON.stringify(ultimate_hash));
としてフォームを送信しています:
check_data=params[:javascript_data]
しかしcheck_dataが文字列です。
しかし、その文字列のため、私の目的は解決されませんでした。 Javascriptハッシュをそのままコントローラに渡す方法についていくつか提案してください。
ありがとうございます!
'JSON :: parse'? Rubyでメソッドを呼び出す従来の方法ではありません;) –
@AndreyDeinekoはより良い従来の方法で編集しました:) – shivam
@ shivam ,,ありがとう! – Abhradip