Mam model o nazwie ImplicitTest
. Nazywa się to tym, że obiekt Ruby o nazwie Test
po prostu łamie wiele rzeczy w Railsach.Jak pisać routing, gdy nazwa modelu zasobu nie pasuje do ścieżki lub kontrolera
Jednak nadal chcę wystawić go jako RESTful zasobu jako test
(np. /tests
, /test/1/edit
i tak dalej). Co więcej, byłoby świetnie zachować kontroler jako TestsController
, choć to mniej ważne.
Robiłem to poprzez proste resources :tests
linię w moim pliku routes.rb, ale to nie dla relaksującego formach (np <%= form_for @test ... >
- to podnosi, że @test obiekt jest typu ImplciitTest i próbuje odnośnika implicit_test_path
który
Próbowałem dodać opcje form_for, ale doszedłem do wniosku, że aby formularz działał zarówno dla akcji new
, jak i dla edit
, nie było jednego, zunifikowanego sposobu zadawania form_for(), aby użyć innego prefiksu do wyszukiwania nazw ścieżek
Tak więc próbowałem podejść do problemu z routingu bok. Czy istnieje linia mogę dodać do pliku trasy, które pozwolą mi:
- Mają model o nazwie ImplicitTest
- Mają ścieżki jako/test
- Użyj <% = form_for @test .. .%> tag nadal
- Trzymać regulator jako TestsController (opcjonalnie)
wiem, że odchodząc Golden Path to zrobić, ale Rails nie pozwalając mi skorzystać z testu jako nazwy modelu, ale to to nazwa, której użytkownicy będą się spodziewać zobacz w adresie URL tego zasobu, więc mam nadzieję, że istnieją proste opcje routingu, które to umożliwiają.
To nie wydaje się dopasowywać nazwę contollera, ale dostosowując ją do 'resources: implicit_tests,: controller =>" tests ",: path =>" tests "' wydawało się dodać, że w. – Phantomwhale