2

ActiveScaffoldリストビューには、ユーザーが検索リンクをクリックしたときにajaxを介して読み込まれる検索フォームがあります。ユーザーがリストページを開いたときに、デフォルトでフォームを表示したいと思います。

ページが読み込まれたときにajax呼び出しをトリガーする方法を見つけましたが、ActiveScaffoldにフォームを自動的にレンダリングさせる方法があるかどうか疑問に思っています。オーバーライドできるテンプレートまたはメソッドはありますか?私はコードを調べましたが、少なくとも私には明らかなことは何もありません。

アップデート:

srboisvertの答えは、私にもっとよく見えるように促しました。

秘訣は、テンプレートオーバーライドを使用して、list.rhtml、_list_header.rhtml、_search.rhtmlをリファクタリングし、検索フォームが部分的にインラインでレンダリングされるようにすることです。

4

3 に答える 3

2

自動的にレンダリングする方法があります:

active_scaffold :model do |config| config.list.always_show_search=真終わり

于 2009-07-03T21:10:57.247 に答える
0

オプション

config.list.always_show_search = true

正常に動作しますが、具体的なコントローラーでのみ機能します。AS set_defaultブロックで使用されると、例外がスローされます。誰かがそれをすべてのコントローラーに含めるよりも良い解決策を知っています(便利ですがバージョンの更新を複雑にするテンプレートをオーバーライドすることは別として)

于 2010-02-08T18:45:13.787 に答える
0

現在、アクティブな足場プロジェクトは手元にありませんが、これを理解する方法は次のとおりです。

firebug がインストールされた firefox を使用し、リンクがクリックされたときに何が呼び出されるかを調べます。次に、その JavaScript とそれが生成しているものを調べます。次に、ソースを検索して、検索ボックス ajax にかなり固有のコードまたは組み合わせの部分を探します。その後は、アジャクシーなしで簡単に切り貼りできるはずです。

于 2008-12-10T11:29:10.047 に答える