2013-07-21 31 views
0

我正在學習Rails的閱讀邁克爾·哈特爾的網絡書籍(順便真棒源),他說,一個用戶模型的控制器的「創造」的方法創建一個用戶與「新」的方法使得用戶。Rails中的「create」和「make」有什麼區別?

好吧......在基本的用戶模型,和Rails在一般的情況下,真正是與「創造」和「做」的區別?

預先感謝任何反饋!

回答

1

使用create方法使得與給定的參數在用戶和直接將其保存到數據庫中,而使用新的使得在存儲器中的新的用戶可以修改,但必須通過調用@user手動保存到數據庫中。保存

例嘗試這種在軌控制檯

User.create(name: "User 1", email: "[email protected]") 

現在鍵入User.all,你會發現你在數據庫中創建用戶。

現在嘗試

a = User.new(name: User 2", email: "[email protected]") 

現在打字User.all不顯示這個新的用戶。您必須執行a.save才能將其保存到數據庫中。

+0

完美Althaf,很多很多的感謝! – Gracko

0

只是把它當做內存VS硬盤。 User.new()增加了一個新的用戶記錄到內存(但不把它保存到數據庫中),而User.create()保存記錄到數據庫中。

你可以做user = User.new(); user.save;這將是相當於User.create()

相關問題