无法在Rails中访问辅助方法

时间:2015-03-04 20:02:12

标签: ruby-on-rails ruby ruby-on-rails-4

我正在完成RailTutorial.org,在第8部分中,您可以创建辅助方法并在控制器中使用它们。我无法访问其中任何一个

控制器行:if current_student.admin? 助手方法:

module SessionsHelper
  [...]
  def current_student
    if session[:student_id]
      @current_student ||= Student.find_by(id: session[:student_id])
    elsif cookies.signed[:student_id]
      student = Student.find_by(id: cookies.signed[:student_id])
      if student && student.authenticated?(cookies[:remember_token])
        log_in student
        @current_student = student
      end
    end
  end
  [...]
end

谢谢!

1 个答案:

答案 0 :(得分:1)

Helper方法仅在视图中可用。如果在视图和控制器中需要它,则必须在控制器中定义它,然后将它声明为辅助方法:

class ApplicationController
  def current_student
    # ...
  end
  helper_method :current_student
end
相关问题