我正在使用Rails 3编写一个大型应用程序,我不断创建搜索表单,如下所示:
= form_tag search_companies_path, :method => "get" do
= label_tag :search
= text_field_tag :search
= submit_tag "Search"
这应该放在Helper方法还是Partial?
我试图让它通过助手来实现:
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
这会创建一个带有按钮的表单,我是否在正确的轨道上?
答案 0 :(得分:5)
以我的拙见 - 把它变成一个帮助 - 这不是一个好习惯,因为帮助者应该从视图中删除代码,而不是采取视图摘录 - 这是部分的情况。
我肯定会使用partials来实现这个功能!
如果要在应用程序的不同部分之间共享部分内容,可以将它们存储在名为“shared”(或任何您喜欢的名称)的文件夹中,并通过调用render :partial => '/shared/name_of_the_partial'
将它们插入到视图中。 / p>
答案 1 :(得分:0)
我认为partial是完成该任务的一种更难以实现的方式,因为它更容易更新代码,也因为应该保存内存,因为应用程序帮助程序包含在所有帮助程序中。
您可以在共享上创建该部分,并将其命名为 _search.html.erb 。