ActiveRecord + ActiveAdmin,保存空字符串而不是null

Cor*_*ius 6 activerecord ruby-on-rails activeadmin

当我使用 Active Admin 表单时,空字符串值保存为 ""(空)而不是 NULL 值。

我应该在初始化程序中设置一个参数来将每个空值保存为 MySQL 中的 NULL 吗?

form do |f|
    input :label
    input :description, as: :text
    input :country
    input :city
  end
  actions
end
Run Code Online (Sandbox Code Playgroud)

这是我的迁移架构:

create_table "projects" do |t|
  t.string "label", limit: "40"
  t.string "country", limit: "2"
  t.string "city", limit: "200"
  t.string "description", limit: 600
end
Run Code Online (Sandbox Code Playgroud)

这是我的 Gemfile。

gem 'rails', '~> 5.1.0.rc1'
gem 'mysql2', '>= 0.3.18', '< 0.5'
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'active_model_serializers', '~> 0.10.5', require: true
gem 'kaminari'
gem 'inherited_resources', '~> 1.7'
gem 'activeadmin', '~> 1.0.0.pre5'
gem 'sidekiq', '~> 4.2.10'
gem "paperclip", "~> 5.1.0"
gem 'aws-sdk', '~> 2.3.0'
Run Code Online (Sandbox Code Playgroud)

Md.*_*mon 1

这似乎是表单的默认行为。我遇到了这个 gem nilify_blanks它将解决你的问题。希望能帮助到你。