2016-07-28 56 views
0

我有以下两种模式:下面的Rails模型应该如何在续集中看起来像?

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> 

在续集,我m应该是to use many_to_one,但这是否意味着Sequel 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 
相关问题