我的 ActiveAdmin 模型创建表单(即 /admin/<model>/new
)正在使用一组尴尬的日期和日期时间下拉列表。
我想改用选择器。但我发现的有关使用日期时间选择器的所有文档似乎都需要重写整个表单。似乎没有办法只更改一个输入,也没有相当于 preserve_default_filters!
的方法。 .
我想更改所有日期和日期时间列的默认值,例如...
config.datepicker = ...
或每列,例如...
column :signed_up, as: :datetime_picker
编辑
默认情况下,我会得到与此等效的新表单和编辑表单。
form do |f|
f.semantic_errors
f.inputs
f.actions
end
如果我想改变signed_up
要使用日期选择器,我必须重复默认提供的所有列,只是为了更改一列的输入类型。
ActiveAdmin.register Thing do
form do |f|
t.semantic_errors
t.input :name
t.input :this
t.input :that
t.input :signed_up, as: :datepicker
t.input :other
t.input :thing
t.input :left
t.input :right
t.actions
end
end
有很多不必要的重复,而且格式也不正确。我正在寻找一种方法来更改一列或一种类型的输入表示形式,而不必每次都手动编写整个表单。
最佳答案
尝试 DateNTimePickerActiveAdmin Rubygem。它工作得非常好,并且可以根据您的项目进行定制。
您可以在此处找到文档:https://github.com/NikhithaGraceJosh/date_n_time_picker_activeadmin
来自文档:
Gemfile
gem 'date_n_time_picker_activeadmin'
代码示例(在您的表单中)
f.input :column_name, as: :datetimepicker
CSS
在 active_admin.scss 中,添加以下行:
@import date_n_time_picker_activeadmin
JS
在 active_admin.js 中,添加以下行:
//= require date_n_time_picker_activeadmin
希望有用!
关于ruby-on-rails-5 - 如何在 ActiveAdmin 中使用日期选择器而不重写创建表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50769998/