如何并排使用simple_form和formtastic(active_admin)?

时间:2012-12-05 20:08:53

标签: ruby-on-rails simple-form formtastic

我有一个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不支持。

1 个答案:

答案 0 :(得分:0)

我认为现在(2015 +),是确保SimpleFormFormtastic兼容的最简单,最恰当的方法(包括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 Inputsdocs部分了解详情。