欢迎来到cool的博客
7

Music box

Click to Start

点击头像播放音乐
新博客链接

Rails5中关于使用 enum 枚举的一个小坑

这里有个坑,enum 必须放在 validate 前面,不然会出现找不到 pay_types 的情况

class Order < ApplicationRecord
  enum pay_type: {
    "Check" => 0,
    "Credit card" => 1,
    "Purchase order" => 2
  }

  has_many :line_itemsdependent: :destroy
  validates :name:address:emailpresence: true
  validates :pay_typeinclusion: pay_types.keys   #这里使用了pay_types

  def add_line_items_from_cart(cart)
    cart.line_items.each do |item|
      item.cart_id = nil
      line_items << item
    end
  end
end

返回列表