我正在尝试在生产服务器上部署我的Rails3.0应用程序。之前有很多麻烦,但所有这些都解决了。现在我又有了另一个。
有乘客错误页面的文字:
错误讯息: 未初始化的常量Formtastic :: FormBuilder
异常类: NameError
回溯:
0 /home/ubuntu/.rvm/gems/ruby-1.9.2-p180@rails3.0/gems/client_side_validations-3.1.0/lib/client_side_validations/formtastic.rb 20 in'' 1 /home/ubuntu/projects/questroad/config/initializers/client_side_validations.rb 4 '
2 /home/ubuntu/.rvm/gems/ruby-1.9.2-p180@rails3.0/gems/railties-3.0.7/lib/rails/engine.rb 201 in
区块(2个级别)中的'
3 /home/ubuntu/.rvm/gems/ruby-1.9.2-p180@rails3.0/gems/railties-3.0.7/lib/rails/engine.rb 200 in“each”
...
谷歌搜索结果对我没有帮助,现在我在这里。
UPD: 此外,如果我尝试运行WEBrick服务器,则会出现同样的错误。
UPD: 我尝试在Gemfile中评论“gem'client_side_validation'”行,错误消失了。但现在我无法使用这个宝石。
答案 0 :(得分:6)
我遇到了同样的问题,但没有出现在制作中,我在开发之后在开发中遇到了这个错误:
bundle update
然后尝试运行我的rspec。
似乎捆绑更新,安装了client_side_validations 3.1.0,这似乎会产生问题(...不确定原因,我没时间分析它atm),但是在Gemfile中使用固定版本解决了它:
gem 'client_side_validations', '3.0.5'
希望它有所帮助!
答案 1 :(得分:3)
发生这种情况是因为您安装了Formtastic 1.x. ClientSideValidations的3.1.x版本需要Formtastic 2。
答案 2 :(得分:0)
检查您是否安装了formtastic gem。
也可以在生产机器上运行
bundle install --deployment
因为这会将所有宝石安装到乘客可以找到的位置。有时,乘客无法找到宝石路径。
答案 3 :(得分:0)
我不知道你是否遵循了这个过程,但我重新命令你用你的宝石套装你的乘客并从RVM开始独立乘客模式
rvm wrapper ruby-1.9.2-p180@rails3.0 passenger
并以此为例开始:
rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.2-p180@rails3.0' -c \
'cd /<your app PATH>/current/ && bundle exec passenger start -a 127.0.0.1 -p 3000 -d