рельсы полиморфные url params - PullRequest
       1

рельсы полиморфные url params

8 голосов
/ 28 сентября 2010

Мне очень нравится полиморфный стиль URL, поэтому я могу написать

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

вместо

link_to 'New taste', new_taste_path

Но возможно ли добавить параметры запроса в первый без использования polymorphic_url / polymorphic_path

Ответы [ 2 ]

11 голосов
/ 30 августа 2012

Нет. Когда вы передаете массив в эти методы (link_to, redirect_to и т. Д.), Аргумент url передается непосредственно в url_for, который сам вызывает polymorphic_path с одним аргументом. Как вы сказали, polymorphic_path позволяет передавать параметры в качестве второго аргумента, но они не могут передаваться, как в первом аргументе.

Чтобы передать параметры и использовать полиморфную маршрутизацию, вы должны использовать polymorphic_path / polymorphic_url примерно так:

link_to 'New taste', polymorphic_path([:new, :taste], :spiciness => :on_fire)
3 голосов
/ 05 ноября 2014

Да - вы можете передать это так:

link_to 'New taste', [[:new, :taste], :a_param => 'param']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...