簡體   English   中英

沒有belongs_to的Rails has_many

[英]Rails has_many without a belongs_to

我正在使用Rails 4並且我正在嘗試實現一個Notif模型,該模型應該有一組已經看過它的用戶。

我的想法是使用has_many關系( notif has_many :users ),我在其中添加已經向用戶看過通知的users 我遇到的當前問題是我無法調用@notif.users因為它聲明column users.notif_id does not exist因為我沒有使用belongs_to

一種解決方案是使用多對多關系; 但是,我想避免為每個查看通知的用戶創建單獨的關聯(嘗試保存數據庫空間)。

有沒有辦法有效地擁有一個沒有has_many關系的users字段? 我想我只是想在我的notif模型中存儲一組用戶id。

這在技術上是可行的 - 但它不是ActiveRecord的工作方式,也不會為您省錢。

並非所有數據庫都支持數組類型。 如果沒有數組類型,則必須將id存儲在字符串中,這幾乎消除了任何有效的查詢和連接形式。

即使是支持數組的數據庫也不支持在數組中存儲外鍵。 這意味着你可以親吻參照完整性再見。 索引數組也可能無法正常工作。

除此之外,您無法在沒有重大攻擊的情況下使用Rails關聯。

我希望你現在意識到省錢是一個非常愚蠢的計划。 特別是因為與開發者時間相比,數據庫空間便宜。

如果你正在使用關系數據庫,雖然這是一個正確的全向關系,但ActiveRecord不會很好地與你玩(如果有的話)。

此外,值得注意的是,在2015年,嘗試查找全向ActiveRecord解決方法比額外的數據庫條目要昂貴得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM