У меня есть модель под названием ImplicitTest
. Это называется наличием объекта Ruby Test
, который просто ломает много вещей в Rails.
Однако я все еще хочу представить его как ресурс RESTful как test
(например, /tests
, /test/1/edit
и т. Д.). Кроме того, было бы здорово сохранить контроллер как TestsController
, хотя это менее важно.
Я делал это с помощью простой строки resources :tests
в моем файле rout.rb, но это не удалось для форм RESTful (например, <%= form_for @test ... >
- это обнаруживает, что объект @test имеет тип ImplciitTest, и пытается поиск implicit_test_path
который не существует.
Я попытался добавить параметры form_for, но пришел к выводу, что для того, чтобы форма работала как для действий new
, так и edit
, не было единого, единого способа запроса form_for () использовать другой префикс для поиск имени пути.
Итак, я пытался подойти к проблеме со стороны маршрутизации. Есть ли строка, которую я могу добавить в файл маршрутов, которая позволит мне:
- Имейте модель под названием ImplicitTest
- Иметь путь как / test
- Используйте тег <% = form_for @test ...%> по-прежнему
- Сохранить контроллер как TestsController (необязательно)
Я знаю, что я покидаю Золотой путь, чтобы сделать это, но Rails не позволяет мне использовать Test в качестве имени модели, но это имя, которое пользователи ожидают увидеть в URL этого ресурса, поэтому я надеясь, что есть простые опции маршрутизации, которые позволяют это.