我不太明白需要在Rails中隱藏id
列的存在。 它既沒有反映在migration
文件中,也沒有反映在schema.rb
文件中。 新手無法知道名爲id
的列已被默認創建爲primary key
。 除非他們去檢查數據庫中表的實際模式(rails dbconsole
)。爲什麼Rails隱藏id列的存在?
我可以看到timestamps
宏默認包含在遷移文件以及schema.rb
作爲兩個字段created_at
和updated_at
。在這裏,開發者至少得到一個線索。 Rails也可以爲id
列做同樣的事情。但事實並非如此。
爲什麼在id
列左右保密?它是着名的convention over configuration
的一部分嗎?或者它是所有MVC框架的規範嗎?
這是Rails團隊的選擇。 – wurde
@wurde,但'選擇'也帶有重置'id:false'的靈活性...... – HackerKarma
好的。您可以將ID設置爲false。一定要保持規範化的數據或者保證記錄的完整性。 – wurde