ruby-on-rails-5 - 如何在 ActiveAdmin 中使用日期选择器而不重写创建表单?

标签 ruby-on-rails-5 activeadmin

我的 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/

相关文章:

ruby-on-rails - 为 Rails Assets 设置缓存控制

html - 为什么我的图像没有出现在其他 View 中? (导轨)

ruby-on-rails - 用于提交作为字符串传递的数组的 Rails 5 表单

ruby-on-rails - 安装 rails ActiveAdmin 引擎位于可安装引擎内

ruby-on-rails - 无法在事件管理嵌套表单中更新回形针图像

ruby-on-rails - Rails - 设计和 sidekiq 路线

ruby-on-rails - Rails 应用模型中的 ModelName.real

ruby-on-rails - 在 activeadmin rails 的 has_many 中添加新按钮

ruby-on-rails-4 - Rails omniauth-saml + devise + ADFS 问题

ruby-on-rails - Ruby on Rails - ActiveAdmin - 当 default_namespace = false 时配置实用程序导航