Я пытаюсь найти чистый и сухой способ расширения url_for, чтобы он предоставлял динамический параметр по умолчанию. Я знаю, это звучит странно, позвольте мне объяснить:
У меня есть набор вложенных маршрутов ресурсов, которые находятся под динамической областью:
scope "/:network", constraints: {:network => /[^\/]+/} do
constraints DomainConstraint.new do
resources :users do
resources :posts
end
end
end
Это дает такие маршруты, как:
/mysite.com/users/mike
/someothersite.com/users/sally
Чтобы сгенерировать эти маршруты в представлении, я могу легко сделать:
mike = User.find_by_name("mike")
sally = User.find_by_name("sally")
user_path(mike.network, mike)
user_path(sally.network, sally)
Однако мне это не кажется очень СУХИМ, так как сеть фиксируется для каждого пользователя. Я бы предпочел кратко сказать:
user_path(mike)