Я пытаюсь создать новую запись в моей галерее. Пользователи могут создавать одного поставщика и оттуда создавать много галерей. В каждой галерее может быть много картинок. Проблема возникает во время нового действия при попытке создать новое изображение с помощью нового представления изображения. При этом мой метод контроллера это ...
def new
@picture = current_account.vendor.galleries.pictures.new
end
Однако это возвращает неопределенную ошибку метода 'pictures' для отношения activerecord.
NoMethodError в клиенте :: PicturesController # new
неопределенный метод `pictures 'для ActiveRecord :: Relation ...
Fyi, полностью обойдя ассоциацию с помощью @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)
обрезанные маршруты (обрезано пространство имен клиента) ...
ресурс: продавец делает
resources :galleries do
resources :pictures
end
конец