У меня есть маршрут рельсов, подобный:
match ':controller/:id/:action'
# match 'teams/:id' => "teams#show" # doesn't have any additional effect, which makes sense to me
resources :teams, :only => [:index, :show]
Таким образом, я могу сказать /teams/cleveland-indians
, и он будет вызывать teams#show
с :id => 'cleveland-indians'
.Работает отлично.Моя проблема в том, что url_for
не совсем делает то, что я хочу.В моих представлениях / командах / индексах я получаю следующее поведение:
url_for(:id => "cleveland-indians") # => /teams/cleveland-indians/index
url_for(:id => "cleveland-indians", :action => :show) # => /teams/cleveland-indians/show
Конечно, второе ведет себя так, как я хочу, но я бы хотел избавиться от ненужного /show
вконец.Я не знаю много о том, как работают эти помощники, но я бы предположил, что он знал бы, что show
было действием по умолчанию для GET с указанным идентификатором, так же как и механизм маршрутизации.В любом случае, как мне лучше позаботиться об этом?Или я просто все делаю неправильно?