Я столкнулся с проблемой маршрутизации в приложении Rails 3.0.x.Настройка маршрутизации Rails
То, что я пытаюсь достичь, - это URL как /registration/renew/1. Идея заключается в том, что это продлит регистрацию для члена с идентификатором = 1.
Так к этой установке конец I следующие маршруты
routes.rb
match "registration/renew" => "registration#renew"
пользователь попадает на страницу регистрации через такую ссылку, как
<%= link_to "Full Member", registration_renew_path(@member) %>
Проблема в том, что сгенерированная ссылка имеет вид: /registration/renew.1, который указывает, что расширение формата добавляется. Что я пытался сделать по желанию с помощью включения респондеров аргумента: формат согласно следующему правилу соответствия
match "registration/renew(/:id(.:format))" => "registration#new"
, но это не удается с
No route matches {:controller=>"registration", :action=>"renew", :format=>#<Member id: 1,.....
Таким образом, в этой точке I перепроверил Rails Guides и т. д., но до сих пор не смог получить URL-адрес, который я получил.
Только тогда, когда у меня были два правила:
match "registration/renew" => "registration#renew"
match "registration(/:action(/:id(.:format)))" => "registration#renew"
в файле маршрутов бы URL /регистрация/обновить/1 получить меня на странице. Хотя я не чувствовал, что это было правильное, аккуратное решение.
Последний вопрос (ы)
- Что должно быть link_to метод
- Что такое правильную запись routes.rb
Заранее спасибо