Mam konfigurację z modelami Cart
i CartItem
(belongs_to :cart
).Szyny 3 ścieżka polimorficzna - jak zmienić domyślny klucz trasy
Co chcę zrobić, to zadzwonić pod numer polymorphic_path([@cart, @cart_item])
, aby używał numeru cart_item_path
zamiast cart_cart_item_path
.
Wiem, że mogę zmienić adres URL wygenerowany przez trasę do /carts/:id/items/:id
, ale to nie jest to, co mnie interesuje. Również zmiana nazwy CartItem
na Item
nie jest opcją. Chcę tylko użyć metody cart_item_path
w całej aplikacji.
Z góry dziękuję za wszelkie wskazówki na ten temat!
Wystarczy, aby mój punkt jasne:
>> app.polymorphic_path([cart, cart_item])
NoMethodError: undefined method `cart_cart_item_path' for #<ActionDispatch::Integration::Session:0x007fb543e19858>
Tak, aby powtórzyć moje pytanie, co mogę zrobić, aby polymorphic_path([cart,cart.item])
szukać cart_item_path
i nie cart_cart_item_path
?
I to jest dokładnie to, co robię. I - jeśli czytasz uważnie - to jest problem, ponieważ: '>> ścieżka app.polymorphic ([cart, cart.item])' 'NoMethodError: niezdefiniowana metoda' cart_cart_item_path 'dla # ' Tak więc, aby powtórzyć moje pytanie, co mogę zrobić, aby polymorphic_path ([cart, cart.item]), aby wyszukać cart_tem_path, a nie cart_cart_item_path? –
Pandaamonium