2016-07-28 20 views
0

Ich habe die folgenden zwei Modelle:Wie soll das folgende Rails-Modell in Sequel aussehen?

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

Hier ist die Migration für Dispute:

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

Dies ist, wie sie in Rails verhalten:

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

In Sequel, ich m angenommen to use many_to_one, aber bedeutet das, dass Sequel User Modell eine entsprechendehaben sollte? Es scheint nicht zu funktionieren.

Antwort

0

Dies sollte funktionieren:

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