我很努力得到一個包含驗證在模型上工作,所以也許有人可以告訴我我在這裏失蹤。Rails包含驗證
這是我的模型有:
class Order < ActiveRecord::Base
ORDER_TYPES = %w{ Verkooporder Retourorder }
ORDER_TYPES.each_with_index do |meth, index|
define_method("#{meth}?") { type == index }
end
validates_inclusion_of :order_type, :in => %w{ Verkooporder Retourorder }
...
我還創建了創建使用常量數組這樣的dropdownbox形式: (我
= f.input :order_type, as: :select, collection: Order::ORDER_TYPES, label: 'Order type', include_blank: false
我保存它我的模型是這樣的:
@order.order_type = params[:order][:order_type]
因此,當我保存我的訂單模型時,它總是失敗o n驗證order_type。 有沒有人能指出我做錯了什麼?
PS:order_type是我模型中的一個整數值字段。
如果您正在使用Rails 3,請嘗試使用新的Rails 3驗證樣式。
validates :order_type, :inclusion => { :in => %w(0 1) }
– YaBoyQuy