【发布时间】:2013-08-16 14:32:46
【问题描述】:
我想将 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 模块方法我遇到了麻烦,因为我不能完全弄清楚祖先链并且不知道如何确定我的覆盖范围。基本不知道怎么弄。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-2