几个月前我遇到了这个问题,posted it on Spree's GitHub page ,然后自己找出解决方案并将其发布在同一问题上。两个月后,我仍然收到来自具有相同错误消息的 Google 员工对同一问题的评论,因此我认为也值得在此网站上发布我的解决方案,以防万一有人遇到相同问题但没有查看在 GitHub 上。
问题:尝试按照 Spree 文档中的具体说明创建全新的 Spree 应用程序,当您尝试运行 spree install --auto-accept
或 时,会出现以下错误Rails g spree:安装
:
undefined method `raise_in_transactional_callbacks=' for ActiveRecord::Base:Class (NoMethodError)
解决方案如下...
最佳答案
问题:我使用 rails new
创建了一个新的 Rails 应用程序,它使用 rails 4.2.0beta
自动创建了一个应用程序。然后我遇到了 gem 不兼容的问题,因此我更改了一些 gems 的版本号,包括将 Rails 降级回 4.1.8
。
但是配置设置 raise_in_transactional_callbacks
是 Rails 4.2.0 中的新功能,因此在 Rails 的早期版本中它会引发错误。如果您收到此错误消息,则需要从 config/application.rb
中删除行 config.active_record.raise_in_transactional_callbacks = true
。
关于ruby-on-rails - 无法创建新的 Spree 应用程序 : "undefined method ` raise_in_transactional_callbacks ='",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27526332/