rails部分或帮助

时间:2011-03-29 02:41:00

标签: ruby-on-rails helper partial

我正在使用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

这会创建一个带有按钮的表单,我是否在正确的轨道上?

2 个答案:

答案 0 :(得分:5)

以我的拙见 - 把它变成一个帮助 - 这不是一个好习惯,因为帮助者应该从视图中删除代码,而不是采取视图摘录 - 这是部分的情况。

我肯定会使用partials来实现这个功能!

如果要在应用程序的不同部分之间共享部分内容,可以将它们存储在名为“shared”(或任何您喜欢的名称)的文件夹中,并通过调用render :partial => '/shared/name_of_the_partial'将它们插入到视图中。 / p>

答案 1 :(得分:0)

我认为partial是完成该任务的一种更难以实现的方式,因为它更容易更新代码,也因为应该保存内存,因为应用程序帮助程序包含在所有帮助程序中。

您可以在共享上创建该部分,并将其命名为 _search.html.erb