Introduce a SelectedTalk model
This commit is contained in:
parent
63a920a88b
commit
05240dfed4
|
@ -0,0 +1,3 @@
|
|||
class ApplicationRecord < ActiveRecord::Base
|
||||
self.abstract_class = true
|
||||
end
|
|
@ -0,0 +1,7 @@
|
|||
class SelectedTalk < ApplicationRecord
|
||||
belongs_to :talk_preference
|
||||
|
||||
def talk
|
||||
Talk.find talk_id, from: :halfnarp_friendly
|
||||
end
|
||||
end
|
|
@ -1,4 +1,6 @@
|
|||
class Talk < ActiveResource::Base
|
||||
has_many :selections, class_name: 'SelectedTalk'
|
||||
|
||||
self.site = "https://cfp.openfest.org/api/conferences/3"
|
||||
self.element_name = "event"
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
class TalkPreference < ActiveRecord::Base
|
||||
has_many :selected_talks
|
||||
|
||||
self.primary_key = :unique_id
|
||||
|
||||
serialize :talks, Array
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
class TalkPreference < ActiveRecord::Base
|
||||
self.primary_key = :unique_id
|
||||
serialize :talks, Array
|
||||
end
|
||||
|
||||
class SelectedTalk < ApplicationRecord
|
||||
end
|
||||
|
||||
class CreateSelectedTalks < ActiveRecord::Migration[5.0]
|
||||
def up
|
||||
create_table :selected_talks do |t|
|
||||
t.references :talk, foreign_key: false
|
||||
t.string :talk_preference_id, foreign_key: true
|
||||
end
|
||||
|
||||
talk_preferences = TalkPreference.all
|
||||
|
||||
talk_preferences.each do |preference|
|
||||
preference.talks.each do |talk|
|
||||
SelectedTalk.create! talk_id: talk, talk_preference_id: preference.unique_id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
drop_table :selected_talks
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue