空表单值不包含在 Active Admin 的参数中

Empty form values are not included in params in Active Admin

资源表单内容:

form do |f|
  f.inputs do      
    f.input :name
  end

  f.actions
end

我正在使用 Rails 5 beta 3,这里是 Gemfile 内容:

# Backend
gem 'activeadmin', github: 'activeadmin/activeadmin', branch: 'master'

Gemfile.lock内容:

GIT
  remote: git://github.com/activeadmin/activeadmin.git
  revision: f7483e3b8fcd74437b03c18fb658dac62a9fc62e
  branch: master
  specs:
    activeadmin (1.0.0.pre2)
      arbre (~> 1.0, >= 1.0.2)
      bourbon
      coffee-rails
      formtastic (~> 3.1)
      formtastic_i18n
      inherited_resources (~> 1.6)
      jquery-rails
      jquery-ui-rails
      kaminari (~> 0.15)
      rails (>= 3.2, < 5.0)
      ransack (~> 1.3)
      sass-rails
      sprockets (< 4)

偶数属性包含在允许的参数中:

permit_params :name

当我提交空值时,它在 params 中丢失,因此名称没有更新。非空值工作正常。

与 select 个盒子相同。

发生错误后,我尝试使用以下方式更新 Active Admin:

bundle update activeadmin

但错误仍然存​​在。

我在简单的 rails 表单(由脚手架命令生成)和 Active Admin 资源之外的 formtastic 上测试了它,这两个选项都有效,所以它似乎是 Active Admin 问题。

这是我检查 params 内容的方式(也检查了 logs/development.log):

controller do
  def update
    abort params.inspect
  end
end

所以name此时也没有呈现

我发布了问题here,但到现在还没有反馈。

既然你用的是rails5.0.0beta2,你可能也在用rack 2.0.0.alpha.

这是由bug in rack造成的。

在rack2.0.0稳定之前,你可以通过在Gemfile中添加来解决这个bug:

gem 'rack', github: 'rack/rack'