在Rails 4

时间:2016-02-23 20:53:34

标签: ruby-on-rails

我正在尝试使用commontator gem向我的Rails应用添加评论部分。

我已经完成了实施步骤,并且在我的页面上显示了“显示评论(0)”的链接。

然而,当我点击链接时,我收到一个应用程序错误说:

NoMethodError (undefined method `current_user' for #<Commontator::ThreadsController:0x007f976f39cc78>):
config/initializers/commontator.rb:15:in `block (2 levels) in <top (required)>'

看来这个问题可以通过这里的解决方案来解决: https://github.com/lml/commontator/issues/72

基本上,我想将此代码添加到ActionController:

def current_user
  @current_user ||= User.find_by_id(session[:user_id]) if session[:user_id]
end

所以,我的问题是,我究竟如何向ActionController :: Base添加代码?我在app目录中看不到该文件。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您链接的答案建议在初始化程序中覆盖该类,因此您的config / initializers / commontator.rb将是一个不错的选择。

答案 1 :(得分:0)

只需将其添加到ApplicationController即可。它是所有控制器的超类。