0
Я пытаюсь связать Контакты с классами, но как два разных типа. Текущие_классы и Заинтересованные_классы.Связанные модели с полиморфными
Я знаю, что мне нужно включить полиморфный, но я не уверен, где он должен быть включен.
Это то, что я в данный момент
class CreateClasses < ActiveRecord::Migration
def self.up
create_table :classes do |t|
t.string :class_type
t.string :class_name
t.string :date
t.timestamps
end
end
def self.down
drop_table :classes
end
end
class CreateContactsInterestedClassesJoin < ActiveRecord::Migration
def self.up
create_table 'contacts_interested_classes', :id => false do |t|
t.column 'class_id', :integer
t.column 'contact_id', :integer
end
end
def self.down
drop_table 'contacts_interested_classes'
end
end
class CreateContactsCurrentClassesJoin < ActiveRecord::Migration
def self.up
create_table 'contacts_current_classes', :id => false do |t|
t.column 'class_id', :integer
t.column 'contact_id', :integer
end
end
def self.down
drop_table 'contacts_current_classes'
end
end
А потом внутри моего Контакты Модель Я хочу иметь что-то вроде этого.
class Contact < ActiveRecord::Base
has_and_belongs_to_many :classes, :join_table => "contacts_interested_classes", :foreign_key => "class_id" :as => 'interested_classes'
has_and_belongs_to_many :classes, :join_table => "contacts_current_classes", :foreign_key => "class_id" :as => 'current_classes'
end
Что я делаю неправильно?
Я прочитал это, но это не помогло с моей проблемой. Мне нужно создать другое поле в таблице соединений, которое связано с текущим или заинтересованным? –
Прежде всего, вы не следуете никаким соглашениям. Постарайтесь следовать ему. Это действительно полезно. Нужно снова использовать правильное соглашение. Серьезно, я не даю ответу, потому что кто-то помог мне таким же образом. Читайте эту статью, которую я снова упоминал с нуля. –
Спасибо за совет, я перечитал ее и нашел гораздо лучший способ сделать это! –