ruby-on-rails – Ruby on Rails,使用同名枚举的问题
发布时间:2020-12-17 03:42:27 所属栏目:百科 来源:网络整理
导读:以下是我视图中的一些下拉菜单: div class="col-xs-3" %= f.select(:require_booking,get_advance_booking.collect {|p| [ p[:require_booking],p[:require_booking] ] },{include_blank: false},:class = 'form-control') %/div 和 div class="col-xs-3" %
以下是我视图中的一些下拉菜单:
<div class="col-xs-3"> <%= f.select(:require_booking,get_advance_booking.collect {|p| [ p[:require_booking],p[:require_booking] ] },{include_blank: false},:class => 'form-control') %> </div> 和 <div class="col-xs-3"> <%= f.select(:instant_booking,get_instant_booking.collect {|p| [ p[:instant_booking],p[:instant_booking] ] },:class => 'form-control') %> </div> 这是我的application_helper.rb def get_advance_booking ret = [{:require_booking => 'No'},{:require_booking => 'Yes'}] end def get_instant_booking ret = [{:instant_booking => 'No'},{:instant_booking => 'Yes'}] end 但现在的问题是,在我的模型product.rb中,我无法使用相同的名称设置枚举: class Product < ActiveRecord::Base enum require_booking: { No: 0,Yes: 1 } enum instant_booking: { No: 0,Yes: 1 } end 我收到的错误是您尝试在模型“Product”上定义名为“instant_booking”的枚举,但这会生成一个实例方法“No?”,该方法已由另一个枚举定义.如何解决这样的冲突? 解决方法
首先,就像Marek Lipka所说,你应该使用布尔值来处理你的情况.
如果你需要定义具有相同条目的不同枚举,我建议使用gem’enumerize'(https://github.com/brainspec/enumerize). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |