首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails -字符串的控制器操作名称

Rails -字符串的控制器操作名称
EN

Stack Overflow用户
提问于 2009-08-07 14:09:33
回答 5查看 112.8K关注 0票数 166

我有一个Rails的问题。

如何在控制器动作中获得控制器动作的名称?

例如,而不是

代码语言:javascript
复制
def create
  logger.info("create")
end

我想写这样的东西

代码语言:javascript
复制
def create
  logger.info(this_def_name)
end

获取this_def_name的方法是什么

EN

回答 5

Stack Overflow用户

发布于 2009-08-07 14:11:44

在Rails操作的特定情况下(与获取当前方法名的一般情况相反),您可以使用params[:action]

或者,您可能希望研究自定义Rails日志格式,以便操作/方法名称包含在格式中,而不是包含在日志消息中。

票数 34
EN

Stack Overflow用户

发布于 2013-03-15 20:20:18

控制器名称:

代码语言:javascript
复制
<%= controller.controller_name %>

返回=> 'users‘

操作名称:

代码语言:javascript
复制
<%= controller.action_name %>

返回=> 'show‘

id:

代码语言:javascript
复制
<%= ActionController::Routing::Routes.recognize_path(request.url)[:id] %>

返回=>“23”

票数 18
EN

Stack Overflow用户

发布于 2009-08-07 14:58:40

mikej的回答非常准确和有帮助,但我也想知道的是如何在rails中获得当前方法的名称。

发现使用self.current_method是可行的

http://www.ruby-forum.com/topic/75258上很容易找到

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1244921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档