Ruby on rails 如何为一个特定操作定义Rails助手?

Ruby on rails 如何为一个特定操作定义Rails助手?,ruby-on-rails,ruby-on-rails-3,controller,helpers,Ruby On Rails,Ruby On Rails 3,Controller,Helpers,我有一个LabelTagHelper,它带有一个自定义的label\u标记方法,但我只需要在我的新建、创建、编辑和更新操作中使用此方法 是否有方法仅为特定操作定义此帮助器?类似于helper:label\u tag,:only=>[:new,:create,:update,:destroy]?或者在before\u过滤器中调用self.class.helper:label\u标记是安全的?rails帮助程序应该只是格式化程序。将其视为装饰表示层(视图)的功能 因此,将助手设置为:before_f

我有一个LabelTagHelper,它带有一个自定义的
label\u标记
方法,但我只需要在我的新建创建编辑更新操作中使用此方法


是否有方法仅为特定操作定义此帮助器?类似于
helper:label\u tag,:only=>[:new,:create,:update,:destroy]
?或者在before\u过滤器中调用
self.class.helper:label\u标记是安全的?

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

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

所以,当你需要的时候,给你的助手打电话。因此,不需要仅为特定操作添加帮助程序。正如我前面提到的,助手和控制器/模型操作应该是互斥的

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

sameera试试这个

有这样一个助手方法(在我的例子中,我使用了一个名为“ProjectsHelper”的助手)

这是有效的。。。希望这就是你需要的

干杯

萨米拉


注意:很抱歉没有更新现有答案。因为这是一种全新的方法,我想把它作为一个单独的答案

对不起,但我想你误解了我。在我的索引视图中,我想使用内置的
label\u标记
,但对于其他操作,我想使用我自己的助手,它会覆盖内置的
label\u标记
。不,我不会给我的助手重命名啊。。。好的,现在我明白你的问题了。。。我也会尝试一种方法。同时,如果您找到解决方案,请将其张贴在此处。对不起:D
module ProjectsHelper
  def label_tag *params
    if controller.action_name == "index"
      #user custom implementation
    else
      super
    end

  end
end