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

时间:2016-02-26 08:09:07

标签: ruby-on-rails activeadmin

资源表格内容:

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中缺少它,因此名称未更新。非空值可以正常工作。

与选择框相同。

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

bundle update activeadmin

但错误仍然存​​在。

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

以下是我检查params内容(也已选中logs/development.log)的方式:

controller do
  def update
    abort params.inspect
  end
end

所以即使此时也没有出现name

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

1 个答案:

答案 0 :(得分:1)

由于您使用的是rails5.0.0beta2,因此您可能也使用了机架2.0.0.alpha。

这是由bug in rack

引起的

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

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