我想将 rails 3 中存在的number_field表单助手添加到我的 rails 2.3.15 应用程序中,但我无法扩展模块。
这些是我需要从 rails 3 获得的方法
class InstanceTag
def to_number_field_tag(field_type, options = {})
options = options.stringify_keys
if range = options.delete("in") || options.delete("within")
options.update("min" => range.min, "max" => range.max)
end
to_input_field_tag(field_type, options)
end
end
def number_field(object_name, method, options = {})
InstanceTag.new(object_name, method, self, options.delete(:object)).to_number_field_tag("number", options)
end
def number_field_tag(name, value = nil, options = {})
options = options.stringify_keys
options["type"] ||= "number"
if range = options.delete("in") || options.delete("within")
options.update("min" => range.min, "max" => range.max)
end
text_field_tag(name, value, options)
end
我将此添加到我的应用程序助手中包含的模块中。该to_number_field_tag
方法很简单,因为我可以打开类并添加覆盖。
我遇到了麻烦的 FormHelper 模块方法,因为我无法完全弄清楚祖先链并且不知道如何确定我的覆盖范围。我不知道如何使它基本上工作。