我有一个Rails的问题。
如何在控制器动作中获得控制器动作的名称?
例如,而不是
def create
logger.info("create")
end
我想写这样的东西
def create
logger.info(this_def_name)
end
获取this_def_name
的方法是什么
发布于 2009-08-07 14:11:44
在Rails操作的特定情况下(与获取当前方法名的一般情况相反),您可以使用params[:action]
或者,您可能希望研究自定义Rails日志格式,以便操作/方法名称包含在格式中,而不是包含在日志消息中。
发布于 2013-03-15 20:20:18
控制器名称:
<%= controller.controller_name %>
返回=> 'users‘
操作名称:
<%= controller.action_name %>
返回=> 'show‘
id:
<%= ActionController::Routing::Routes.recognize_path(request.url)[:id] %>
返回=>“23”
发布于 2009-08-07 14:58:40
mikej的回答非常准确和有帮助,但我也想知道的是如何在rails中获得当前方法的名称。
发现使用self.current_method是可行的
https://stackoverflow.com/questions/1244921
复制相似问题