簡體   English   中英

如何從Rails的控制器中訪問路由信息(HTTP動詞,動作名稱等)?

[英]How do I access the route information (HTTP verb, action name, etc . . .) from within a controller in Rails?

假設我在控制器內,並且想要獲得其支持的動作和HTTP動詞的列表,我該怎么做? 例如

controller.actions # { [ :show, :get ], [ :update, :put ], . . .  }

或等效的東西。

像這樣:

controller = "users"
controller_routes = []
Rails.application.routes.routes.each do |route|
  if route.to_s.include?(":controller=>\"#{controller}\"")  
    controller_routes << route
  end  
end
puts controller_routes

你明白了。

要列出對每個控制器的操作有效的http方法 (GET,POST,PUT,DELETE),請運行:

rake routes

它將列出為所有控制器配置的http方法。

您可以通過編輯/config/routes.rb來更改使用哪些http方法

RailsGuide 在此提供了很好的解釋。

暫無
暫無

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

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