軌道是否有辦法從模型實例中插入記錄?像User.create(user)
?從對象插入記錄
從對象插入記錄
回答
假設user
是User
的實例,您只需使用user.save
即可。 AR知道是否插入或更新。
UPDATE(見註釋)
這似乎是一個創紀錄的問題的克隆,所以答案是使用dup
方法來創建對象的淺克隆。
這不符合我的預期。出於測試目的,我嘗試了以下內容:u = User.find(1); u.id = nil; u.save並且它試圖更新updated_at,其中users.id是NULL,這是有道理的。我沒有錯嗎?我從User中選擇這個對象,所以它會一直嘗試更新它,當我想將它作爲新記錄插入時。 – 2012-01-31 16:14:09
你爲什麼把id設置爲零?您通常會使用'user = User.new()'創建一個新實例,然後調用'user.save'。通過執行'find',您可以選擇數據庫中的現有記錄,然後將id設置爲nil,調用'save'將嘗試保存'id' = nil的位置。哪個會炸燬。你是否想從數據庫中克隆一條記錄並將其保存爲新記錄? – Bangline 2012-01-31 16:21:15
應該說如果你想克隆使用'dup'來創建re4cord的一個副本而不保存它,(Rails 3+) – Bangline 2012-01-31 16:23:28
你可能想嘗試FactoryGirl創建對象:https://github.com/thoughtbot/factory_girl
- 1. 通過對象插入多條記錄
- 2. 從記錄中插入html
- 3. 從表中插入記錄
- 4. 插入記錄
- 5. 插入記錄
- 6. 插入記錄
- 7. 嘗試插入從對象
- 8. 記錄MSSQL插入
- 9. has_many記錄插入
- 10. 標記記錄插入
- 11. 如何自動對新記錄插入
- 12. 使用MVC插入多對多記錄
- 13. 在Symfony中插入記錄時返回Doctrine_Null對象
- 14. 重新使用sqlalchemy ORM對象插入多條記錄
- 15. 使用核心數據更新對象插入新記錄
- 16. 在同一個對象中插入多條記錄Context
- 17. 插入複選標記到PHPExcel對象
- 18. SQL插入記錄對於結果集的每個記錄
- 19. 插入多個記錄從Android到PHP?
- 20. 從另一個查詢插入記錄
- 21. 插入多條記錄從DataGridView
- 22. 插入多條記錄到MySQL從PHP
- 23. 從CTE插入記錄到表
- 24. Haskell Mongodb從文件中插入記錄
- 25. TSQL從XML字符串插入記錄
- 26. 插入對象
- 27. 記錄PHP對象
- 28. 插入新記錄時,從一個表插入另一個表
- 29. 從JSON對象刪除記錄Javascript
- 30. 從ABPerson對象檢索記錄
可能與http://stackoverflow.com/questions/60033/what-is-the-easiest-way-to-duplicate-an-activerecord複製 - 記錄 – Baldrick 2012-01-31 16:22:32