У меня есть настройка, где author
имеет множество значений от sources
(и наоборот) до authorships
.
. Я работаю над исходной формой и хотел бы, чтобы в раскрывающемся меню выбора Пользователь может выбрать нескольких авторов, которые будут связаны с данным источником.
Моя author
модель выглядит следующим образом:
class Author < ApplicationRecord
belongs_to :user
has_many :authorships
has_many :sources, through: :authorships
def last_first
"#{last_name}, #{first_name}"
end
...
end
Моя source
модель:
class Source < ApplicationRecord
belongs_to :user
has_many :authorships
has_many :authors, through: :authorships
...
end
И моя authorship
модель:
class Authorship < ApplicationRecord
belongs_to :source
belongs_to :author
end
Сначала я попробовал:
<%= f.collection_select(:author_ids, Author.all, :id, :last_first, multiple: true) %>
Но я получил эту странную ошибку: Could not find the source association(s) "author" or :authors in model Authorship. Try 'has_many :authors, :through => :authorships, :source => <name>'. Is it one of ?
I проконсультировался со многими сообщениями SO, такими как this , this и this , но безрезультатно.
Может кто-нибудь помочь мне понять, что я? я делаю неправильно? Документация collection_select не сильно поможет.