Ruby on rails Rails关联-简单连接

Ruby on rails Rails关联-简单连接,ruby-on-rails,Ruby On Rails,使用Rails 4时遇到新问题,对关联有疑问 假设我有一辆车 create_table "cars", force: true do |t| t.string "name" t.integer "owner_id" t.integer "mechanic_id" end 我有一些用户的角色是“所有者”和“机械师” 现在,当我得到一份汽车清单时,我想要车主和机械师的名字 我知道这听起来很容易,但我一直在忙着结社,一事无成 我想显示以下内容: name own

使用Rails 4时遇到新问题,对关联有疑问

假设我有一辆车

create_table "cars", force: true do |t|
    t.string   "name"
    t.integer  "owner_id"
    t.integer  "mechanic_id"

end
我有一些用户的角色是“所有者”和“机械师”

现在,当我得到一份汽车清单时,我想要车主和机械师的名字

我知道这听起来很容易,但我一直在忙着结社,一事无成

我想显示以下内容:

name   owner   mechanic
Ferari Paul    James
使用此模式

User
id  first  role
1   Paul   owner
2   James  mechanic

Car
name     owner_id  mechanic_id
Ferrari  1          2

任何帮助都将不胜感激。

您对同一型号有两种关联。因此,在您的
model/car.rb中写下:

class Car < ActiveRecord::Base
  belongs_to :owner, class_name: 'User'
  belongs_to :mechanic, class_name: 'User'
end
class-Car
您可以使用
car.owner.name
car.mechanical.name


参见

谢谢Martin-您链接中的exmaple+2.10真的很有帮助!
class Car < ActiveRecord::Base
  belongs_to :owner, class_name: 'User'
  belongs_to :mechanic, class_name: 'User'
end