Какую конструкцию Ruby использует метод link_to в Rails? - PullRequest
2 голосов
/ 14 февраля 2012

Скажем, у меня есть этот маршрут:

  match '/somepage' => "home#somepage"

Затем я могу сделать это на другой странице для ссылки на "somepage":

<%= link_to "Some Page", somepage_path %>

Я новичок в обоих Rubyи Rails, и я изо всех сил пытаюсь понять, как именно работает часть «somepage_path».Это не строка, это не символ, это вызов метода?Если да, то где этот метод существует?Похоже, я упускаю что-то очевидное ...

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

При инициализации все пути генерируются в соответствии с определениями rout.rb. Если вы хотите настроить названия маршрутов, вы можете использовать

match '/somepage' => "home#somepage", :as => "foobar"

Позже используется как

<%= link_to "Some Page", foobar_path %>

Надеюсь, это прояснит некоторые аспекты пользовательской маршрутизации:)

0 голосов
/ 27 февраля 2012

Магия ссылок обрабатывается ActionDispatch::URL::UrlFor, см. ActionDispatch :: URL :: UrlFor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...