我有一个使用devise进行身份验证的rails应用程序。它在本地部署时有效但在推送到Heroku时我收到此错误
2014-07-03T14:20:17.235816+00:00 app[web.1]: /app/app/controllers/users_controller.rb:1:in `<top (required)>': uninitialized constant Users (NameError)
这是它所指的文件
class Users::SessionsController < Devise::SessionsController
before_create :create_associated_records
ROLES = [ROLE_STUDENT = 'student', ROLE_GRADUATE = 'graduate',
ROLE_INSTITUTIONAL_ADMIN = 'role_recruiter', ROLE_ADMIN = 'admin']
def create
@user = User.create(user_params)
end
private
def user_params
params.require(:user).permit(:avatar)
end
end
谢谢。
答案 0 :(得分:2)
我相信你应该移动
/app/app/controllers/users_controller.rb
到
/app/app/controllers/users/users_controller.rb
或更改
class Users::SessionsController < Devise::SessionsController
到
class SessionsController < Devise::SessionsController
这是由于::
,表示一个位置。 Users::SessionsController
将查找./Users/SessionController
,这是当前树级别(controllers
)的相对路径。