我正在完成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
谢谢!
答案 0 :(得分:1)
Helper方法仅在视图中可用。如果在视图和控制器中需要它,则必须在控制器中定义它,然后将它声明为辅助方法:
class ApplicationController
def current_student
# ...
end
helper_method :current_student
end