0
當使用Active Record枚舉全局化gem時,出現一個錯誤,就好像globalize不知道該枚舉存在一樣。驗證Rails使用Enum全局化Gem
class Stuff < ActiveRecord::Base
enum stuff_type: { one: 1, two: 2 }
translates :name
validates :name, presence: true, uniqueness { case_sensitive: false, scope: :stuff_type }
default_scope do
includes(:translations)
end
end
如果我做的:
s = Stuff.new(name: 'stuff')
s.one!
我得到一個錯誤,如下所示:
ActiveRecord::StatementInvalid: PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "one"
這是因爲驗證的,因爲它看起來像Globalize的不理解枚舉。
我做錯了什麼?我應該如何做到這一點?