Я новичок в Ruby, поэтому, пожалуйста, прости, если некоторые из них являются полным невежеством. Я хочу установить следующие ассоциации:
- Транскрипция принадлежит Композиции
- Композиция имеет много транскрипций, принадлежит Артисту
- У художника много композиций (и транскрипций через композиции)
Я не хочу иметь какие-либо отдельные формы для создания композиций и исполнителей. Пользователи просто создают транскрипции - форма для транскрипции содержит текстовые поля для исполнителя и композиции, а записи в базе данных должны создаваться динамически (если они еще не существуют).
Как мне настроить модели? Должен ли я использовать некоторые виртуальные атрибуты в транскрипции?
# transcription.rb
def artist_name
artist.name if self.artist
end
def artist_name=(name)
self.artist = Artist.find_or_create_by_name(name) unless name.blank?
end
и позже создайте Композицию с find_or_create_by_name
, используя художника, которого я нашел или создал раньше?
Любая помощь приветствуется! Заранее спасибо