Ruby on Rails项目部署后无法注册 本地正常求排查
问题排查与解决建议
核心问题:Heroku上remember_digest方法未识别
这个错误直接指向User模型对应的数据库表缺少remember_digest字段。本地环境正常是因为你已经在本地执行过添加该字段的数据库迁移,但部署到Heroku时没有同步执行迁移操作。
解决步骤:
- 登录Heroku命令行,执行数据库迁移:
heroku run rails db:migrate - 迁移完成后重启Heroku应用:
heroku restart
如果迁移文件本身存在问题,先检查db/migrate目录下是否有添加remember_digest字段的迁移文件,确保内容类似:
class AddRememberDigestToUsers < ActiveRecord::Migration[6.1] def change add_column :users, :remember_digest, :string end end
本地的404错误(不影响注册,但建议修复)
本地日志里的ActiveRecord::RecordNotFound是因为浏览器请求/users/custom.css时,被Rails路由的users/:id规则匹配,把custom当成用户ID去查询。修复方法:
- 在
config/routes.rb中,将静态文件相关路由(如果有)放在resources :users之前,调整路由匹配优先级; - 确保自定义CSS文件放在
app/assets/stylesheets目录下,通过stylesheet_link_tag 'custom'正确引用,避免错误指向/users/custom.css。
内容的提问来源于stack exchange,提问作者Aarti Jain
相关产品推荐
相关产品推荐

