在rails中,我生成一個包含兩個字符串的模型,並且想添加更多。我會如何去做這件事?如何向模型添加屬性?
回答
活動記錄將您的表格列映射到模型中的屬性,因此您不需要告訴導軌您需要更多,您需要做的就是創建更多列並且導軌將檢測它們,屬性將會自動添加。
您可以通過migrations你的表添加更多的列:
rails generate migration AddNewColumnToMyTable column_name:column_type(string by default)
例子:
rails generate migration AddDataToPosts views:integer clicks:integer last_reviewed_at:datetime
這將生成一個文件:
db/2017.....rb
打開它,並添加修改如果需要:
self.up
#add_column :tablename, :column_name, :column_type
add_column :posts, views, :integer
add_column :posts, clicks, :integer, default: 0
end
希望這有助於。
假設我創建了一個Rails應用程序並且有一個名爲User_credential的模型。這目前有:姓名和電話號碼。部署之後,老闆突然意識到他想給模型添加地址。而且他要求我創建一個爲模型添加屬性的表單。這是可能的軌道? – BKSpurgeon 2016-06-20 23:37:43
@BKSpurgeon一種選擇是使用序列化字段並將自定義屬性存儲在其中。另外請看一下http://api.rubyonrails.org/classes/ActiveRecord/Store.html,它可以讓你像普通的一樣處理自定義屬性。 – JCorcuera 2016-06-21 04:29:40
是的,@JCorcuera的解決方案是適用的,但我建議向Rails應用更多的信息以滿足我們的要求。試試這個辦法:
rails generate migration add_columnname_to_tablename columnname:datatype
例如:
rails generate migration add_password_to_users password:string
這絕對是一個更好的方法,只要確保你的名字完全適合它的工作。 – HussienK 2015-11-26 22:39:35
「你得到的名字完全適合它的工作」:我想補充一點,add_columnname_to_tablename有一個含義,並且需要合理。這看起來很明顯,但我沒有馬上想到,它來自另一個遷移工具,遷移名稱永遠不相關。 – Sarumanatee 2016-11-22 21:13:56
只是爲了讓它更簡單,你可以這樣做:
rails g migration add_something_to_model something:string something_else:integer
- 1. 如何向模型添加固定值屬性?
- 2. 如何向RoR模型中的屬性添加默認值?
- 3. 如何向Ruby中的模型(ActiveRecord)添加新屬性
- 4. 如何通過json(Dictionary)生成模型類或向現有模型類添加屬性(無屬性)
- 5. 如何向stylesheet_link_tag「application」添加空屬性?
- 6. 如何向EF4添加屬性
- 7. 如何向類添加其他屬性?
- 8. 如何向ActiveRecord添加新屬性
- 9. 如何向XML元素添加屬性
- 10. 如何向PostSharp屬性添加參數?
- 11. 如何向HTML ImageData添加新屬性?
- 12. 從模型中添加數據屬性
- 13. 骨幹模型添加屬性編程
- 14. Kohana模型 - 添加其他屬性
- 15. 在Rails中添加屬性到模型
- 16. Django模型 - 在JSON中添加屬性
- 17. 添加動態屬性模型
- 18. 在ajax中添加模型屬性POST
- 19. 將屬性belongs_to添加到模型
- 20. 將DateTime屬性添加到SpineJS模型
- 21. 爲所有Knockout模型添加屬性
- 22. 將屬性添加到模型
- 23. 在運行時向LINQ模型添加屬性
- 24. Django,向提交的模型添加排除的屬性
- 25. Django:向模型類對象添加其他屬性
- 26. 如何向現有類型/控件添加屬性
- 27. magento - 如何在未初始化時向eav模型添加屬性
- 28. 如何向Sails模型添加策略?
- 29. 如何向Rails模型添加錯誤?
- 30. 如何向模型添加字段?
這些都是公共屬性? – natedavisolds 2011-06-16 14:08:36
你需要遷移http://guides.rubyonrails.org/migrations.html#creating-a-migration – dexter 2011-06-16 14:09:13
所以,只需將字符串添加到遷移,然後耙db:migrate? – jsttn 2011-06-16 14:16:21