如何使用工厂女孩设置 id 字段



我有这个设置。

class Musicbrain < ActiveRecord::Base
  attr_accessible :id
  validates_presence_of :id
end
create_table "musicbrains", id: false, force: true do |t|
  t.string  "id",        null: false
end
factory(:musicbrain) do
  sequence(:id) {|n| "79239441-bfd5-4981-a70c-55c3f15c128#{n}"}
end

问题是这个规范总是失败。

it "should set id" do
  build(:musicbrain, id: "79239441-bfd5-4981-a70c-55c3f15c1287").should be_valid
end

Musicbrain#id总是零,这是为什么?

  • 导轨 4.0.0
  • factory_girl 4.2.0

这解决了我的问题。

class Musicbrain < ActiveRecord::Base
  attr_accessible :id
  validates_presence_of :id
  self.primary_key = "id"
end

最新更新