2010-09-28 28 views
8

Tôi thích url kiểu đa hình rất nhiều, vì vậy tôi có thể viếtray url đa hình params

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

thay vì

link_to 'New taste', new_taste_path 

Nhưng là nó có thể để thêm tham số truy vấn đến đầu tiên mà không sử dụng polymorphic_url/polymorphic_path?

+0

Theo như tôi biết bạn không thể. – vise

+0

Bạn có nghĩa là 'link_to' New taste ', [: new,: taste],: a_param =>' param'' là không thể? – Yannis

+0

@Yannis: không, điều này thêm thuộc tính vào thẻ neo – tig

Trả lời

3

Có - bạn có thể vượt qua nó như vậy:

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

Dường như nó chỉ có sẵn trong đường ray ~> 4.1 – tig

8

số Khi bạn vượt qua một mảng đến những phương pháp (link_to, redirect_to, vv) lập luận url được truyền trực tiếp đến url_for, mà tự nó gọi polymorphic_path với một đối số duy nhất. Như bạn đã nêu polymorphic_path cho phép các tham số được chuyển thành đối số thứ hai, nhưng chúng không thể được chuyển như trong đối số đầu tiên.

Để vượt qua params và sử dụng định tuyến đa hình bạn phải sử dụng polymorphic_path/polymorphic_url như vậy:

link_to 'New taste', polymorphic_path([:new, :taste], :spiciness => :on_fire) 
Các vấn đề liên quan