Я пытаюсь установить отношение один ко многим между одной моделью к другой в рельсах, и это работает в консоли, но я не могу реализовать ее должным образом в представлениях, чтобы иметь возможность создаватьбольше изображений для одного события (более подробно описано ниже)
Фон веб-приложения состоит в том, что у одного события есть много изображений событий, и многие изображения событий принадлежат одному событию.Я пытаюсь настроить это правильно в консоли и схемах, похоже, сработало.Мне не удалось заставить его работать, когда я пытался реализовать его с помощью представлений.
<%= form_with(model: [ @event, @event.event_pictures.build ], local: true) do |form| %>
<p>
<%= form.label :answer %><br>
<%= form.text_field :answer %>
</p>
<p>
<%= form.label :hint %><br>
<%= form.text_field :hint %>
</p>
<p>
<%= form.label :event_pics %>
<%= form.file_field :event_pics, multiple: true %>
</p>
<p>
<%= form.submit %>
</p>
<% end %>
Приведенный выше код является моей формой, которая является основной причиной проблемы.Ошибка показана ниже.
undefined method `event_pictures' for nil:NilClass
Консольный материал работает .. в Pastebin (https://pastebin.com/ESYAfMzE)
Контроллер
def new
render 'new'
end
def create
@event = Event.find(params[:event_id])
@event_picture = @event.event_pictures.create(event_picture_params)
redirect_to event_path(@event_picture)
end
**Кнопка для создания новой картинки в Event Index, чтобы вы могли увидеть событие, прежде чем нажимать кнопку для новой картинки. **
<%= button_to "new picture", {:controller => :event_picture, :action => 'new', :event_id => event.id},
:method => :get,
class: "btn btn-warning" %>
Это довольно неприятно, так как я также посмотрел навозможность использования fields_for
вместо form_with
, и несколько раз проверил мой schema.rb и миграции, чтобы убедиться, что он правильно связан. На этом этапе я действительно буду признателен за любую помощь, поскольку я ушелчасы, смотрящие на эту проблему.
Большое спасибо.