今天我在商业服务器上部署了一个 Spree Commerce 应用程序。我遇到的问题是登录页面不起作用,我希望这里有人能给我建议。
我对 Ruby on Rails 很陌生,只是稍微调整了标准的 Spree Commerce 应用程序。在我的本地机器上一切正常(可以添加产品、登录等)。服务器和我正在运行 Ruby 1.9.3 和 Rails 3.2.14。
将所有内容放入 git 存储库后,根据托管公司的网站配置 deploy.rb 文件,并运行“bundle install”、“exec rake assets:precompile”、“cap:deploy:setup”和“cap:deploy” " 整个事情已经成功部署到服务器上。
当您访问该网站时,您首先从 Phusion Passenger 收到一条优雅的错误消息,指出 database.yml 丢失。这在我将 database.yml 文件添加到服务器上的 rails/shared/config 后解决了(我也必须制作 config 文件夹),其中包含以下内容(用户名和密码与本地相同):
production:
adapter: postgresql
encoding: utf8
database: [name]
pool: 5
timeout: 5000
username: [username]
password: [password]
host: localhost
现在,当我浏览显示索引页面的网站时,我可以查看购物卡并可以搜索产品。不幸的是,当我尝试登录时,我收到以下消息:
SO上的其他人在这里遇到了类似的问题,管理员/登录页面无法正常工作,然后才在本地计算机上。这个人得到了安装 spree_auth_devise 扩展的建议。我确实将它包含在我的 Gemfile 中,并且本地登录功能工作正常,所以这不是我的问题。
/edit 此外,这可能是相关的,当我运行 rake db:bootstrap 时,我收到以下消息:
-bash-4.1$ rake db:bootstrap
This task will destroy any data in the database. Are you sure you want to
continue? [y/n] y
rake aborted!
database configuration does not specify adapter
我希望有人能启发我!