我有一个 rubygem,它定义了一个自定义 SemanticFormBuilder 类,它添加了一个新的 Formtastic 输入类型。该代码按预期工作,但我不知道如何为其添加测试。我在想我可以做一些事情,比如加载 Formtastic,调用 semantic_form_for,然后添加使用我的自定义:as
类型的输入,但我不知道从哪里开始。
有谁知道有什么宝石可以做这样的事情,我可以看看它的来源?关于从哪里开始的任何建议?
我的 gem 需要 Rails 2.3.x
我的自定义输入的源代码如下所示,我将它包含在我的应用程序的初始化程序中:
module ClassyEnumHelper
class SemanticFormBuilder < Formtastic::SemanticFormBuilder
def enum_select_input(method, options)
enum_class = object.send(method)
unless enum_class.respond_to? :base_class
raise "#{method} does not refer to a defined ClassyEnum object"
end
options[:collection] = enum_class.base_class.all_with_name
options[:selected] = enum_class.to_s
select_input(method, options)
end
end
end
不确定我的任何其他源代码是否有帮助,但可以在这里找到http://github.com/beerlington/classy_enum