ho una ha molti attraverso la relazione nella mia app:find_or_create su una ha molti attraverso la relazione
Spettacoli ha molte Band attraverso => Formazioni
Band sono uniche da: Nomi della
class Show < ActiveRecord::Base
attr_accessible :city_id, :title, :dateonly, :timeonly, :image, :canceled, :venue_attributes, :bands_attributes
belongs_to :city
belongs_to :venue
has_many :lineups
has_many :bands, through: :lineups
has_and_belongs_to_many :users
end
class Lineup < ActiveRecord::Base
belongs_to :show
belongs_to :band
end
class Band < ActiveRecord::Base
attr_accessible :name, :website, :country, :state
has_many :lineups
has_many :shows, through: :lineups
validates :name, presence: true
validates_uniqueness_of :name
before_save :titleize_name
private
def titleize_name
self.name = self.name.titleize
end
end
nuove band sono creati in questo modo:
(diciamo che abbiamo un record di spettacolo già salvato chiamato S1)
> s1.bands.new(name: "Wet Food")
> s1.save
In questo momento questo salverà solo se una band di nome "Wet Food" non esiste già
In quale modello è il posto migliore per fare un Band.find_or_create in questa relazione in modo che una banda esistente possa essere usata se esiste una con lo stesso nome?
dove userete una fascia esistente utilizzando Band.find_or_create? e prova ad usare Band.where (nome: 'Wet Food'). first_or_create invece di Band.find_or_create. – Kuldeep
lineup contiene il band_id è così credo che ci sia? – wiredin
quindi la scaletta è simile a una performance, una band ne fa una per spettacolo. uno spettacolo ha più spettacoli per spettacolo. –