簡體   English   中英

在 Rails 中創建關聯的最佳方法

[英]Best way to create an association in Rails

我希望我的User在收到它們時與特定的Email相關聯。

通過這種方式,我可以查找他們收到的一系列電子郵件。

最初,我只想為 User 表創建一個字符串字段,並將唯一 ID 添加到數組中。

User.find(x).received_emails << Email.find(x).id

但是通過關聯模型可能有更好的方法來做到這一點。

建議?

您應該檢查此鏈接:

Rails 協會指南

聽起來你在談論一對多的事情。 如果您使用關聯機制,您將獲得您想要的所有行為,基本上是免費的。

class Email < ActiveRecord::Base
  belongs_to :user
end

class User < ActiveRecord::Base
  has_many :received_emails, :class_name => 'Email'
end

User.find(x).received_emails << Email.find(y)

這種方法需要在 Email 表中添加一個user_id列。

您可能希望通過添加連接表(例如 user_emails 和 UserEmail model)來將其更改為多對多關聯。 該表將具有user_idemail_id列。

暫無
暫無

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

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