2010-09-28 14 views
8

Lubię polimorficzny stylu url bardzo dużo, więc mogę napisaćszyn polimorficzny url params

link_to 'New taste', [:new, :taste] 

zamiast

link_to 'New taste', new_taste_path 

Ale czy to możliwe, aby dodać parametry zapytania do pierwszego bez użycia polymorphic_url/polymorphic_path?

+0

O ile wiem, nie możesz. – vise

+0

Masz na myśli, że 'link_to 'New taste', [: new,: taste],: a_param => 'param'' nie jest możliwe? – Yannis

+0

@Yannis: nie, to dodaje atrybut do zakotwiczenia znacznika – tig

Odpowiedz

3

Tak - można przekazać go tak:

link_to 'New taste', [[:new, :taste], :a_param => 'param'] 
+1

Wygląda na to, że jest dostępny tylko w szynach ~ 4.1 – tig

8

nr Kiedy mijamy tablicę do tych metod (link_to, redirect_to, etc) Argument adres URL jest przesyłany bezpośrednio do url_for, która sama nazywa polymorphic_path z jednym argumentem. Jak stwierdziłeś, polymorphic_path pozwala przekazywać parametry jako drugi argument, ale nie można ich przekazać jak w pierwszym argumencie.

Aby zdać params i wykorzystać polimorficzny routing trzeba użyć polymorphic_path/polymorphic_url tak:

link_to 'New taste', polymorphic_path([:new, :taste], :spiciness => :on_fire) 
Powiązane problemy