以下Rails模型在Sequel中应该如何?

时间:2016-07-28 17:54:10

标签: ruby activerecord migration associations sequel

我有以下两种模式:

class Dispute < ApplicationRecord
  belongs_to :accuser,    class_name: 'User', optional: true
  belongs_to :defendant,  class_name: 'User', optional: true
end
class User < ApplicationRecord
end

以下是Dispute的迁移:

class CreateDisputes < ActiveRecord::Migration[5.0]
  def change
    create_table :disputes do |t|
      t.references :accuser
      t.references :defendant
    end
  end
end

这就是他们在Rails中的表现:

Dispute.first.accuser
# => <# User>
Dispute.first.defendant
# => <# User>

在续集中,我认为to use many_to_one,但这是否意味着续集User模型应该有相应的one_to_many?似乎无法让它发挥作用。

1 个答案:

答案 0 :(得分:0)

这应该有效:

Sequel.migration do
  change do
    create_table(:disputes) do
      primary_key :id
      foreign_key :accuser_id, :users
      foreign_key :defendant_id, :users
    end
  end
end

class Dispute < Sequel::Model
  many_to_one :accuser, :class=>:User
  many_to_one :defendant, :class=>:User
end