どのように私はいつも、リストビュー内の検索フォームを表示するのActiveScaffoldを教えていますか?
-
21-08-2019 - |
質問
ActiveScaffoldをリストビューには、ユーザーが検索リンクをクリックしたときに、AJAXを介してロードされる検索フォームを持っています。私は、ユーザーがリストページを開いたとき、デフォルトでは、フォームのショーを持っていることを好むと思います。
私は、AJAX呼び出しページのロードをトリガする方法を考え出しましたが、ActiveScaffoldを、自動的にフォームをレンダリングするために取得する方法があります場合、私は思ったんだけど。私はオーバーライドすることができますテンプレートまたは方法はありますか?私はコードを見ていたけど、少なくとも私には明らかに何もありませんしました。
アップデートます:
srboisvertの答えは、より良い顔をしているように私にインスピレーションを得ました。
トリックテンプレートは、以下のリファクタリングするオーバーライド使用することである:。list.rhtml、_list_header.rhtml、_search.rhtml部分検索フォームをレンダリングするようにインライン
解決
それは自動的にレンダリングを取得する方法があります:
active_scaffold:モデルが行う|設定| config.list.always_show_search =真 終了
他のヒント
私は現在、便利なアクティブな足場のプロジェクトを持っていますが、ここで私はそれを把握する方法をされません。
私は放火犯インストールでFirefoxを使用して、リンクがクリックされたときに呼ばれているものを見てみましょうと思います。それから私はそのjavascriptを見に行くとそれが生成されます。それから私は、検索ボックスのAJAXにかなり独特だろうコード、または組み合わせのいずれかの部分のソースを検索します。その後、ajaxynessせずにそれをカットし過ぎてするのは簡単である必要があります。
オプション
config.list.always_show_search = true
だけで、具体的なコントローラ上、正常に動作します。 AS set_defaultブロックで使用する場合には例外をスローします。誰かがすべてのコントローラに含めるその後、よりよい解決策を知っている(離れて便利ですが、バージョンの更新を複雑にテンプレートを上書きから)