2011-03-29 71 views
1

我編程使用Rails 3大應用程序,我一直在創建搜索表單,像這樣:軌部分或輔助

= form_tag search_companies_path, :method => "get" do 
    = label_tag :search 
    = text_field_tag :search 
    = submit_tag "Search" 

如果這種投入的helper方法或部分?

我試圖得到它的工作通過助手:

module ApplicationHelper 
    def search_form(path) 
    form_tag path, :method => "get" do 
     label_tag :search 
     text_field_tag :search 
     submit_tag "Search" 
    end 
    end 
end 

這將創建一個按鈕形式,我在這裏在正確的軌道上?

回答

5

把它變成幫手 - 根據我的愚見 - 並不是一種好的做法,因爲幫手應該將代碼從視圖中取出,而不是採取意見摘錄 - 對於部分來說就是這種情況。

我肯定會使用partials這個功能!

如果您想在應用程序的不同部分之間共享部分,可以將它們存儲在名爲「shared」的文件夾中(或者您喜歡的任何名稱),並通過調用render :partial => '/shared/name_of_the_partial'將它們插入到視圖中。

0

我認爲部分是一種更加可行的方式來完成這項任務,因爲它更容易更新代碼,也因爲應用程序幫助程序包含在所有幫助程序中,因此應該節省內存。

您可以在共享上創建該部分,將其命名爲_search.html.erb

+0

他使用哈姆,所以它會_search.haml – 2011-03-29 02:49:06

+0

當然。如果你使用haml,你應該按照你的說法命名。 – 2011-03-29 02:50:51