[英]Override default routing in Rails
我們可以覆蓋Rails提供的資源的默認路由嗎? 在我的應用中,我希望只能通過put方法訪問new.html.erb。 但是,通過定義map.resources :model
將使用get方法訪問new.html.erb,我想更改它。 我可以嗎?
一種實現方法是不將模型聲明為routes.rb中的資源,而是手動設置所需的路由。
例如,如果您的模型是Article,那么您可以只在routes.rb中添加
put "articles/new" => "articles#new"
它將“ articles / new”與新動作匹配,並將其限制為僅PUT方法。
如果要為模型生成默認路線,而無需執行新操作,則可以在路線文件中使用此指令
resources :model, except: :new
在同一文件中,您將為新操作添加非托管(即“手動”)路線
put "articles/new" => "articles#new"
注意:您還可以通過以下命令使用語法match "articles/new" => "articles#new", via: :put
使您將來可以輕松添加更多方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.