【发布时间】:2016-04-18 21:13:16
【问题描述】:
我正在阅读 Michael Hartl 的 Rails 教程,一切都很好,但我似乎遇到了什么问题,我不知道在哪里(部分归功于我可怕的 git 提交)
LoadError:无法自动加载常量 SessionsController,需要 /home/ubuntu/workspace/sample_app/app/controllers/sessions_controller.rb 来定义它
~/workspace/sample_app/app/controllers/sessions_controller.rb内部:
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
log_in user
params[:session][:remember_me] == '1' ? remember(user) : forget(user)
flash[:success] = "Successfully logged in!"
redirect_back_or(user)
else
flash.now[:danger] = "Invalid email or password"
render 'new'
end
end
def destroy
logout if logged_in?
redirect_to login_path
end
end
失败的测试是:
require 'test_helper'
class SessionsControllerTest < ActionController::TestCase
test "should get new" do
get :new
assert_response :success
end
end
我正在挖掘的所有内容都告诉我这是一个区分大小写的问题,但蛇案和骆驼案对我来说看起来是正确的。之前运行良好,但现在不行了,我真的不确定哪里出了问题。
在引用 sessions_helper.rb 文件时,其他依赖于 SessionsController 的集成测试也会失败。但我认为在获取 :new 时失败将是开始修复它的正确位置。
【问题讨论】:
-
您最近是否更改了控制器的名称?还是移动文件?您能否也请包括
sessions_helper.rb?删除它可以解决问题吗?
标签: ruby-on-rails ruby