2016-07-28 3 views
0

I했습니다 다음과 같은 두 가지 모델 :다음 레일스 모델은 Sequel에서와 같이 표시되어야합니다.

속편에서
Dispute.first.accuser 
# => <# User> 
Dispute.first.defendant 
# => <# User> 

, 나는 ':

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

이 그들이 레일 행동하는 방법입니다

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에 대한 이주의 m은 to use many_to_one이라고 가정하지만, 이는 User 모델에 해당하는 one_to_many? 작동시키지 못하는 것 같습니다.

답변

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