Am noob ..当我尝试捆绑安装spree主题时,我发现了这样的错误 我添加了
gem 'spree_rdr_theme', :git => 'git://github.com/spree/spree_rdr_theme.git'
到gemfile然后我用bundle install然后我给了
rails g spree_rdr_theme:install
我发现错误如下
shany@shany:~/mystore$ rails g spree_rdr_theme:install
/home/shany/.rvm/gems/ruby-1.9.3-p448@rails3tutorial2ndEd/bundler/gems/spree_rdr_
theme-b5d6a80caa6b/app/overrides/spree/shared/redefine_recently_viewed_overrides.rb
:1:in `<top (required)>': undefined method `all' for #<Rails::Engine::Railties:
0x954ee04> (NoMethodError)......
为什么会这样?请帮帮我
答案 0 :(得分:1)
您使用的是Spree(0.70.1)和Rails(3.1.1)的旧版本。两者都非常陈旧(2012年发布),并且具有出色的安全漏洞,并且不再维护。
您尝试安装的spree_rdr_theme尚未更新以使用较新版本的Rails,因此导致您出现问题。
要使现有版本正常工作,请在Gemfile中尝试以下行:
gem 'spree_rdr_theme', :git => 'git://github.com/spree/spree_rdr_theme.git', :branch => '0-70-stable'
话虽如此。我会考虑将Spree升级到2.0,将Rails升级到3.2.14(或者Spree升级到2.1,Rails升级到4.0),并使用新的spree_fancy主题而不是spree_rdr_theme(也不再维护)。无论如何,您应该这样做,以便及时了解最新的安全修复程序。
如果这是一个新项目,您可以轻松按照Spree指南创建一个新项目。如果这是对现有项目的升级,那么您将完成工作,但运行具有已知安全漏洞的代码会遇到麻烦。