Ресурсы дефисов в рельсах 3 маршрута - PullRequest
10 голосов
/ 02 ноября 2010

Как можно использовать дефис в URL ресурсов? Например: /my-model/ или /my-model/1. Если я определяю маршрут как resources :"my-model", я получаю синтаксическую ошибку, потому что rails генерирует метод def hash_for_my-models_url(options = nil).

Ответы [ 3 ]

14 голосов
/ 18 ноября 2010

Я нашел решение:

  resources "my-models", :as => :my_models, :controller => :my_models

ОБНОВЛЕНИЕ: Как сказал Тимо Салоранта в комментарии, он работает без :controller => :my_models в последних версиях Rails 3.

2 голосов
/ 02 ноября 2010

Вы можете использовать опцию :as для настройки ресурсоемких маршрутов с дефисированными URL:

map.resources :my_model, :as => "my-model"

Результаты в

my_model_index GET /my-model(.:format) {:action=>"index",
  :controller=>"my_model"}

... и т.д ...

0 голосов
/ 02 ноября 2010

Вы пробовали собственный маршрут?

map.connect "/my-model/:id", :controller => 'my-model-controller', :action => 'read'

Это вызвало бы метод read для my-model-controller.rb.

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