我们可以覆盖Rails提供的资源的默认路由吗?在我的应用程序中,我希望只能通过put方法访问new.html.erb。但是,通过定义map.resources :model
将使用get方法访问new.html.erb并且我想要更改它。我可以吗?
答案 0 :(得分:0)
一种方法是不将模型声明为routes.rb中的资源,并手动设置所需的路径。
例如,如果您的模型是文章,那么您可以在您的routes.rb
中put "articles/new" => "articles#new"
将'articles / new'与新操作匹配,并将其限制为PUT方法。
答案 1 :(得分:0)
如果您想为模型生成默认路线,而没有新操作,则可以在路径文件中使用此说明
resources :model, except: :new
在同一档案中,您将为新动作添加非管理(即“手动”)路线
put "articles/new" => "articles#new"
注意:您还可以使用此语法match "articles/new" => "articles#new", via: :put
,以便将来轻松添加更多方法