Я новичок в rails, и я пытаюсь связать песню по умолчанию с темой. Проблема в том, что если я даю теме атрибут default_song_id, я могу получить доступ к песне напрямую с помощью вызова default_song, если я сделаю тему принадлежностью к песне.Есть ли другая ассоциация, которая ведет себя как own_to?
Моя проблема с этим - это просто название ассоциации. Тема, очевидно, не принадлежит песне в иерархии моих моделей, и у песен слишком много атрибутов. Не имеет смысла придавать песням атрибут theme_id, поскольку песни задействованы во множестве других отношений, и это действительно тема, которая касается конкретной песни, плюс одна песня может ссылаться на несколько тем.
У меня есть другие варианты?
Хотя мне нравится эта идея, и это то, что, возможно, упростило бы вещи, если бы я применил ее во всем приложении, я все равно хочу избежать посредника. Если никто не ответит другим ответом, который работает, я буду отмечать это как таковое. – DogNibbler
Если вам нравятся аспекты «многие-ко-многим», но вы хотите избежать промежуточной модели, проверьте «has_and_belongs_to_many». http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_and_belongs_to_many – MrTheWalrus