Я пытаюсь создать новую запись изображения в своей галерее. Пользователи могут создать одного поставщика, а оттуда — множество галерей. В каждой галерее может быть много изображений. Проблема возникает во время нового действия при попытке создать новое изображение через новый вид изображения. При этом мой метод контроллера...
def new
@picture = current_account.vendor.galleries.pictures.new
end
Однако это возвращает «изображения» ошибки неопределенного метода для отношения activerecord.
NoMethodError в Client::PicturesController#новый неопределенный метод `pictures' для ActiveRecord::Relation...
К вашему сведению, полный обход ассоциации с помощью @picture = Picture.new работает нормально, но я пытаюсь правильно определить (надеюсь, это правильное слово) галерею/поставщика и учетную запись пользователя.
Что меня смущает, так это то, что ассоциация, кажется, работает непосредственно через форму создания/редактирования галереи через fields_for и accepts_nestred_attributes_for (@gallery = current_account.vendor.galleries.new — это новый метод галереи), но создание специального изображения отдельно от редактирования галереи/ новые ошибки формы согласно предыдущему тексту.
Я попытался бросить жестко запрограммированный идентификатор галереи непосредственно в @picture = current_account.vendor.galleries(:id => 4).pictures.new просто как отчаянную догадку, но изображения остаются сломанными.
Я чувствую, что мне не хватает чего-то очевидного здесь. Есть предположения?
Спасибо за уделенное время.
обрезанные модели...
class Gallery < ActiveRecord::Base
belongs_to :vendor
has_many :pictures
class Picture < ActiveRecord::Base
belongs_to :vendor
belongs_to :gallery
(Я проверил, что в таблице изображений есть столбец Gallery_id:integer)
отрезанные маршруты (отрезано пространство имен клиента)...
ресурс :vendor do
resources :galleries do resources :pictures end
конец