Как мне дать form_with правильный маршрут для вложенных моделей пространства имен? - PullRequest
0 голосов
/ 04 октября 2018

Мое приложение становится достаточно большим, поэтому для организационных целей я хочу начать пространство имен для различных элементов.Теперь у меня есть модели FooBar :: Act и FooBar :: Show, каждая из которых имеет несколько актов.Я создал маршрутное пространство имен с помощью FooBar:

namespace :foo_bar do
  resources :shows do
    resources :acts, only: [:new, :create]
  end
  resources :acts, except: [:index, :new, :create]
end

Шоу работало, как и ожидалось.Акты, однако, нет.Я пытаюсь создать форму, используя следующее:

<%= form_with(model: @act, url: [@show, @act], local: true) do |form| %>

Вместо работы я получаю сообщение об ошибке, что foo_bar_show_foo_bar_acts не существует, я имел в виду foo_bar_show_acts?

Основано на каком-то другом стеке потокаответы, я пытался использовать def self.model_name, чтобы удалить пространство имен из названия модели, но это ничего не дало.

Rails -v 5.1.4 & Ruby -v 2.4.2p198

1 Ответ

0 голосов
/ 04 октября 2018

Я бы предпочел использовать что-то более сжатое, но я по умолчанию вернулся к использованию помощника пути вместо того, чтобы позволить ему автоматически генерировать путь.Я использую сгенерированные пути почти везде, чтобы сохранить возможность печатать / пробел / улучшать читабельность, не ожидая, куда мне придется идти отсюда.

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