2011-03-29 56 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