加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – rails_admin gem打破了Rails 4.1中引入的枚举

发布时间:2020-12-17 03:07:03 所属栏目:百科 来源:网络整理
导读:Rails 4.1引入了 enums,它打破了rails_admin.任何解决方案或解决方案? 我的模型在顶部包含以下行 enum category: {industry: 1,company: 2,event: 3} 我的Gemfile有以下行 gem 'rails_admin',:git = 'git://github.com/sferik/rails_admin.git' 没有与此问
Rails 4.1引入了 enums,它打破了rails_admin.任何解决方案或解决方案?

我的模型在顶部包含以下行

enum category: {industry: 1,company: 2,event: 3}

我的Gemfile有以下行

gem 'rails_admin',:git => 'git://github.com/sferik/rails_admin.git'

没有与此问题相关的其他代码.我没有修改rails_admin引擎的默认行为.下面是我尝试通过rails_admin接口编辑包含enum属性的任何模型时遇到的错误.

ArgumentError - '3' is not a valid category:
  activerecord (4.1.1) lib/active_record/enum.rb:103:in `block (3 levels) in enum'
  activerecord (4.1.1) lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'
  activerecord (4.1.1) lib/active_record/attribute_assignment.rb:32:in `block in assign_attributes'
  activerecord (4.1.1) lib/active_record/attribute_assignment.rb:26:in `assign_attributes'
   () Users/nicolas/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/bundler/gems/rails_admin-1d604b22d24c/lib/rails_admin/adapters/active_record/abstract_object.rb:19:in `set_attributes'
   () Users/nicolas/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/bundler/gems/rails_admin-1d604b22d24c/lib/rails_admin/config/actions/edit.rb:29:in `block (2 levels) in <class:Edit>'
  (eval):8:in `edit'
  actionpack (4.1.1) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
  actionpack (4.1.1) lib/abstract_controller/base.rb:189:in `process_action'
  actionpack (4.1.1) lib/action_controller/metal/rendering.rb:10:in `process_action'
  actionpack (4.1.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
  [...]

会发生什么是rails_admin无法识别枚举,并在其界面中将它们显示为数字而不是字符串.然后,当您单击“保存”时,它会抛出上述异常.

解决方法

这是rails_admin的一个未解决的问题.

见:https://github.com/sferik/rails_admin/issues/1993

摘要:

将以下要点添加到您的配置/初始化程序中
https://gist.github.com/dmilisic/38fcd407044ace7514df

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读