2014-12-02 59 views
1

我有一個燈具採用ID的這樣的文件:Rails fixture - 自動增加一個ID屬性?

post_one: 
    id: 1 
    attr2: 'some_value' 

post_two: 
    id: 2 
    attr3: 'some_other_value' 

等。

有沒有一種方法,我不必輸入每個記錄的ID,並讓它自動增加?

+2

您可能想要使用FactoryGirl(https://github.com/thoughtbot/factory_girl_rails)來生成測試數據。 – 2014-12-02 02:14:05

+0

FactoryGirl更加靈活,但是您是否嘗試過忽略'id'字段?您的ID字段是否會自動遞增數字? – 2014-12-02 03:08:37

+0

@NickVeys我沒有。這是一個偉大的想法:)從4.2, – PlagueHammer 2014-12-02 07:22:13

回答

2

如果你沒有指定一個id,它將散列標籤並使用它作爲id。不指定一個ID的一些好處:

  • 穩定,自動生成的ID
  • 對協會(belongs_to的,HAS_ONE,的has_many)
  • HABTM協會內聯的列表
  • 自動填充時間戳列
  • 夾具標籤引用標籤插值
  • 支持YAML默認值

關於固定裝置的更多信息,請參閱以下文檔:http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html

+0

,只有前三個實際上是好處。 '即使指定了id,也有一些更高級的功能可以列出最下面的三項。請參閱答案中提供的api鏈接 – montrealmike 2016-03-25 20:35:31