У меня есть ресурс, определенный следующим образом:
resources :referrals, :except => [:show, :edit, :destroy]
, и я бы хотел заменить (не просто добавить именованный маршрут) маршрут по умолчаниюкоторый производит Rails, в частности, тот, который используется для действия обновления.
Вот мои маршруты рейка:
referrals GET /referrals(.:format) {:action=>"index", :controller=>"referrals"}
POST /referrals(.:format) {:action=>"create", :controller=>"referrals"}
new_referral GET /referrals/new(.:format) {:action=>"new", :controller=>"referrals"}
referral PUT /referrals/:id(.:format) {:action=>"update", :controller=>"referrals"}
share /share(.:format) {:controller=>"referrals", :action=>"new"}
special /special(.:format) {:controller=>"referrals", :action=>"index"}
thanks /thanks(.:format) {:controller=>"pages", :action=>"thanks"}
/:shortlink(.:format) {:controller=>"referrals", :action=>"update"}
/:linktext(.:format) {:controller=>"referrals", :action=>"update"}
root /(.:format) {:controller=>"pages", :action=>"home"}
Я бы хотел либо
/:shortlink(.:format)
, либо
/:linktext(.:format)
для выполнения действия обновления, но не
/referrals/:id(.:format)
Это для реализации формы «безопасности», не связанной с паролем.Когда PUT переходит к действию обновления, я хочу, чтобы определенные вещи происходили, но я не хочу требовать авторизации для этого, и я не хочу позволять легко угадывать URL-адрес на основе имени контроллера и простого низкого уровня.пронумерованные идентификаторы.
Как мне полностью заменить маршрут по умолчанию, заданный rails?