私は、JavaScript関数にJSONを提供するためのコントローラーアクションの1つにAJAX getリクエストを作成しています。この関数は、ビュー内のデータに基づいてsvgを生成します。
ただし、作業しているデータもビュー内のテーブル内に表示する必要があり、データベースに対してクエリを複数回実行する必要がないため、実行するだけで可能かどうか疑問に思いました。ページの最初のリクエストに対するクエリを実行し、paramsハッシュの下でAJAXを使用して他のコントローラーに渡しますか?
ここで質問を単純化するために、現在のワークフローの概要を示します。
ページリクエスト->クエリ->提供されたビュー->AJAXGETリクエスト->クエリ->SVGの生成
私が欲しいもの:
ページリクエスト->クエリ->提供されたビュー->AJAXGETリクエスト->SVGの生成
リレーションをAJAXリクエストのパラメーターとして渡すだけでよいと思いましたが、リレーションをActiveRecord :: Relationshipとして渡す代わりに、文字列として渡します。
"#<ActiveRecord::Relation:0x00000009137fc8>":String
また、セッションに保存してみました。例:
session[:foo] = @bar
しかし、次のエラーメッセージが表示され、セッションでリレーションを保存できないと思われますか?
デフォルトのprocでハッシュをダンプすることはできません
この種のワークフローに適したソリューションは何ですか?