我有一个运行RailsAdmin的RailsApp,并且有一个定义了一些回调的模型。在开发环境中,RailsAdmin运行这些回调,但不在生产环境中运行。代码是一样的,没有环境检查或类似的东西。奇怪的是,它可以在生产中的某些模型上运行,而不能在其他模型上运行。在开发中,它适用于所有模型。这些模型之间的唯一区别是,在不起作用的地方,我有一些自定义字段(支持postgres数组的字符串数组和一些wysiwyg字段)。
这是自定义数组定义:
config/initializers/rails_admin_pg_arrays.rb
:
class RailsAdminPgStringArray < RailsAdminPgArray
def parse_input(params)
parsed_string = CSV.parse_line(params[name])
params[name] = parsed_string.nil? ? [] : parsed_string.compact
end
end
这是模型中的RailsAdmin定制定义:
app/models/some_model.rb
:
rails_admin do
edit do
configure :field_with_array, :pg_string_array
# fields with the wysiwyg
[
:text_field_1,
...
:text_field_n
].each do |rich_text_field|
configure rich_text_field, :ck_editor
end
end
end