簡體   English   中英

覆蓋Rails中的默認路由

[英]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使您將來可以輕松添加更多方法

更多信息: http : //guides.rubyonrails.org/routing.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM