открыть дочернюю форму на новой странице - PullRequest
0 голосов
/ 24 января 2020

У меня есть спонсор, у которого может быть много URL-адресов управления гарантией. Я реализовал форму спонсора, но у меня возникли проблемы при создании дочерней формы URL. Проблема в том, что мне нужно создать дочернюю страницу и показать список обратно в основную форму. Как мне это сделать?

Моя форма:

   <%= form_for @sponsor, url: polymorphic_path([:a, @sponsor]) do |form| %>
       <%= form.file_field :logo %>
       <%= link_to "Add Warranty Service URL", new_a_sponsor_warranty_management_url_path(@sponsor), class: 'button green right' %>
   <% end %>

Маршруты:

resources :sponsors do
      resources :warranty_management_urls, only: [:new,:edit,:create,:update,:destroy]
end

Контроллер:

def new
    @sponsor = Sponsor.new
end

В настоящее время появляется эта ошибка up:

No route matches {:action=>"new", :controller=>"a/warranty_management_urls", :sponsor_id=>nil}, possible unmatched constraints: [:sponsor_id]

1 Ответ

0 голосов
/ 24 января 2020

Похоже, ваш помощник по маршруту неверен. Документация для помощников по маршрутам ресурсов может быть полезна в вашей ситуации: https://guides.rubyonrails.org/routing.html#path -and-url-helpers

Вы пробовали запустить rake routes, чтобы получить список доступных маршрутов и маршрута хелперы? Я полагаю, вам нужно что-то более похожее на:

<%= link_to "Add Warranty Service URL",
            new_warranty_management_url_path,
            class: 'button green right' %>

Вы можете передать параметр sponsor_id в качестве аргумента помощнику пути, но это не сработает, если спонсор не будет сохранен, а это не так. true для новой записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...