【问题标题】:belongs_to and has_many in rails导轨中的 belongs_to 和 has_many
【发布时间】:2020-04-07 04:02:54
【问题描述】:

我目前正在从事一个项目,在该项目中,用户可以将用户添加到公司,我想保存谁添加了每个用户,因此会有一个 belongs_to 关系,但一个用户也可以添加多个用户,所以这是一个 has_many。

class Passenger
  belongs_to :passenger, index: true
  has_many :passengers
end

我不知道我能不能做到这一点

【问题讨论】:

标签: ruby-on-rails ruby has-many belongs-to


【解决方案1】:

你需要的是self-jons

# app/model/passenger.rb
class Passenger < ApplicationRecord
  has_many :creations, class_name: 'Passenger', foreign_key: :passenger_id
  belongs_to :creator, class_name: 'Passenger', optional: true
end

你应该有一个迁移

class CreatePassengers < ActiveRecord::Migration[5.0]
  def change
    create_table :passengers do |t|

      t.references :passenger

      # other attributes
    end
  end
end

【讨论】:

  • 嗨,我们没有使用迁移。我们直接在模型中添加东西,例如field :added_by, type: String
  • 所以你没有从ApplicationRecordActiveRecord::Base继承Passenger
  • @Tun 我猜他使用的是 MongoID 而不是 ActiveRecord
  • @CrescentStrike 如果您使用的是 MongoDB(和 MongoID),则应在您的问题上指定
  • 对不起,是的,我正在使用 mongoid
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-20
相关资源
最近更新 更多