如何向模型添加一个连接?

how to add one more connection to a model?

比如我有2个模型:

ticket.rb

belongs_to :user

user.rb

has_many :tickets, dependent: :destroy

我在table张票中

t.integer  "user_id"

一切正常。但是,如果我想添加一个新字段 assignee_id,并且该字段应该是来自相同 table 用户的用户怎么办? 我可以只添加一个字段 assigne_id 并用我需要的 user_id 填充它,但我想使用像 @ticket.assignee.name 这样的结构,就像我在 @ticket.user.name 中使用的那样。你能帮帮我吗?

你可以,Rails 允许你将一堆参数传递给 belongs_to。在您的情况下,您需要指定关联的 foreign keyclass name


这就是您加入 assigneeuser table

的方式
#ticket.rb
belongs_to :assignee, foreign_key: "assignee_id", class_name: "User"

来源:edgeguides.rubyonrails.org

来源:api.rubyonrails.org