Rails:在lib中使用表单标签

时间:2010-03-17 05:53:03

标签: ruby-on-rails forms

所以我在lib /文件夹中有这个代码:

class GlobalConfig::SetHelper
  def self.yes_no_input(configuration)
    value = configuration.value
    name = configuration.name
    "#{radio_button_tag name, true, (value == true), {:id => "#{name}_yes"}} #{label_tag "#{name}_yes", 'yes'}
     #{radio_button_tag name, false, (value.blank? or value == false), {:id => "#{name}_no"}} #{label_tag "#{name}_no", 'no'}"
  end
end

但它又回来了: globalConfig :: SetHelper:Class的未定义方法`radio_button_tag' 当我运行代码时。

我该如何解决这个问题。任何人吗?

由于

2 个答案:

答案 0 :(得分:3)

  1. 为什么要把它放到libapp/helpers是放置这样的辅助方法的标准位置。
  2. 将辅助方法作为辅助类的类方法是不可取的。你应该把它变成一个实例方法。然后将此代码放入您的控制器:

    helper GlobalConfig::SetHelper

    您可以在视图中访问其方法。标准辅助方法(如radio_button_tag)也可以立即使用。

答案 1 :(得分:0)

您需要使用此方法在帮助程序中包含Helper:


class GlobalConfig::SetHelper
  include ActionView::Helpers::FormTagHelper
end