我有以下两种模式:
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
?似乎无法让它发挥作用。
答案 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