2008-12-10 48 views
2

ActiveScaffold列表視圖具有通過ajax在用戶單擊搜索鏈接時加載的搜索表單。我希望在用戶打開列表頁面時默認顯示錶單。如何讓ActiveScaffold始終在列表視圖中顯示搜索表單?

我已經想出了一個方法來觸發頁面加載時的ajax調用,但我想知道是否有辦法讓ActiveScaffold自動呈現表單。有沒有可以覆蓋的模板或方法?我查看了代碼,但沒有什麼明顯的,至少對我來說。

更新:

srboisvert的回答啓發了我有一個更美好的期待。

訣竅是使用模板覆蓋重構以下內容:list.rhtml,_list_header.rhtml,_search.rhtml,以便搜索表單部分呈現內聯。

回答

2

有一種方式來獲得,它會自動呈現:

active_scaffold:模型做|配置| config.list.always_show_search =真 結束

+1

這是一個新選項嗎? – 2009-07-08 02:45:40

0

我目前沒有一個活動的腳手架項目方便,但這裏是我如何弄清楚。

我會使用firefox安裝螢火蟲,並看看點擊鏈接時調用什麼。然後我會去看看那個JavaScript以及它產生了什麼。然後,我會搜索源代碼的任何部分或組合,這對搜索框ajax來說是相當獨特的。之後,它應該很容易切割,並在沒有厭惡的情況下過去。

+0

歡呼聲。這在技術上並不是「正確的」答案,但它使我走上了正確的道路。 – 2008-12-10 20:53:44

0

選項

config.list.always_show_search = true

工作正常,但僅限於具體的控制器。它在AS set_default塊中使用時引發異常。有人知道更好的解決方案,然後將其包括在每個控制器(除了覆蓋模板,這是方便但複雜的版本更新)