空表单值不包含在 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'
资源表单内容:
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'