我有一个rails项目,它使用active_admin gem。这个active_admin取决于formtastic gem。但是,我想在我的应用程序中使用simple_form而不是formtastic(在active_admin之外的所有部分中)。
问题:simple_form和formtastic都声明了“simple_form_for”帮助器,并且通常具有非常相似的DSL。
如何在我的应用中使用simple_form,同时仍保持active_admin(及其formtastic)?
如果你问自己,为什么我需要这样一个麻烦的设置:我使用twitter bootstrap,simple_form很好地支持bootstrap,而formtastic不支持。
答案 0 :(得分:0)
我认为现在(2015 +),是确保SimpleForm
与Formtastic
兼容的最简单,最恰当的方法(包括ActiveAdmin
依赖项)是将自定义SimpleForm
输入包装在名称空间中:
# If needed, you can namespace your custom inputs in a module and tell `SimpleForm`
# to look for their definitions in this module. This can avoid conflicts with other
# form libraries (like `Formtastic`) that look up the global context to find inputs
# definition too.
# app/inputs/custom_inputs/numeric_input.rb
module CustomInputs
class NumericInput < SimpleForm::Inputs::NumericInput
def input_html_classes
super.push 'no-spinner'
end
end
end
# config/initializers/simple_form.rb
config.custom_inputs_namespaces << 'CustomInputs'
查看SimpleForm
Custom Inputs的docs部分了解详情。