Является ли строковая версия каждой модели в Rails URL-адресом? - PullRequest
0 голосов
/ 08 октября 2009

В документации Rails, это говорит :

<%= url_for(@workshop) %>
  # calls @workshop.to_s
  # => /workshops/5

Это потому, что строковая версия каждой модели в Rails соответствует URL для конкретного экземпляра этой модели?

1 Ответ

1 голос
/ 08 октября 2009

Ну, to_s метод Object выводит имя класса. «Модель» Rails обычно является чем-то, что расширяет ActiveRecord::Base, и поиск исходного кода для этого класса показывает, что он не переопределяет to_s. Мой мозг слишком мал, чтобы понять, что делает исходный код для url_for, но я подозреваю, что он не просто вызывает to_s для модели, а скорее выполняет большую работу для генерации этого URL. В Rails URL приходят из config/routes.rb, поэтому url_for должно каким-то образом использовать это ...

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