如何为一个特定操作定义 Rails 帮助程序



我有一个带有自定义label_tag方法的 LabelTagHelper,但我只需要在我的操作、创建编辑更新操作中使用此方法。

有没有办法仅为特定操作定义此帮助程序?像helper :label_tag, :only => [:new, :create, :update, :destroy]?或者before_filter打电话给self.class.helper :label_tag是安全的?

rails 助手应该只是格式化程序。将其视为装饰表示层(视图)的函数

因此,将助手作为 :before_filter 没有任何意义。作为控制器,操作通常涉及一些服务器端处理。

因此,请随时致电您的助手。因此,无需仅为特定操作添加帮助程序。 正如我前面提到的,帮助程序和控制器/模型操作应该是互斥的

顺便说一句,你能详细说明你的要求,为什么你想限制你的助手

萨梅拉

试试这个,

有这样的帮助程序方法(在我的情况下,我使用了一个名为"项目助手"的帮助程序)

module ProjectsHelper
  def label_tag *params
    if controller.action_name == "index"
      #user custom implementation
    else
      super
    end
  end
end

这是工作...希望这是你需要的,

干杯

萨梅拉

注意:很抱歉没有更新现有答案。由于这是一种全新的方法,因此将其作为单独的答案

相关内容

  • 没有找到相关文章

最新更新