Rails - controller.controller_name里面的视图 - 控制器对象在哪里定义?

时间:2016-09-13 15:11:49

标签: ruby-on-rails

阅读"使用Rails 4.0进行敏捷Web开发"我遇到了我无法完全理解的界限。内部application.html.erb作者通过以下方式设置class标记的body属性:

<body class='<%= controller.controller_name %>'>

我知道Rails中有一个ActionController::Metal#controller_name方法,它返回控制器名称的下划线最后一部分,我明白了。令我困惑的是调用此方法的controller对象。我已经通过Rails API进行了搜索,并且没有找到任何名为controller的方法来返回当前控制器的实例。它在哪里定义或它来自何处?

1 个答案:

答案 0 :(得分:0)

有一个ActionView::Helpers::ControllerHelper模块负责将某些方法委派给控制器。检查rails/actionview/lib/action_view/helpers/controller_helper.rb

上的Rails源代码