Помощники маршрута рельсов - одна модель для заполнения многих параметров - PullRequest
1 голос
/ 11 июня 2011

У меня есть следующий маршрут:

get "/:user_name/things/:thing_name" => "things#show", :as => "show_user_thing"

Thing принадлежит user.Так что только с экземпляром thing у меня есть оба параметра.Однако при использовании помощников маршрута я вынужден указывать каждый сегмент отдельно, например так:

show_user_thing_path(@thing.user, @thing)

Это отстой.Я бы предпочел сделать именно это:

show_user_thing_path(@thing)

Но как мне сделать это «вспомогательный путь»?Я хотел бы все еще использовать все вкусности рельсов для маршрута как эти.Есть идеи?

1 Ответ

1 голос
/ 11 июня 2011

Я чувствую твою боль.В тех случаях, когда я часто использую помощник по URL, я просто пишу свой собственный помощник.

def show_thing_by_user_path(thing)
    show_user_thing_path(thing.user, thing)
end 

Конечно, вам придется немного изменить его, чтобы включить любые параметры и форматирование, но я думаю, что вы получитеидея того, что я говорю.

...