這裏的問題是一些降在我看來倒:Ruby on Rails的,用枚舉同名
<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] ] }, {include_blank: false} , :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
我收到的錯誤是You tried to define an enum named "instant_booking" on the model "Product", but this will generate a instance method "No?", which is already defined by another enum.
如何解決這樣的衝突?
使用布爾值來代替。這些字段沒有理由成爲枚舉。 –