在写这个问题之前,我看了这些答案,但找不到解决办法

Error when execute rails generate scaffold User name:string email:string

rake aborted! undefined method `migration_error=' for ActiveRecord::Base:Class

Error launching Rails server: undefined method 'configure'


当我try 启动一个新的应用程序(Hartl's tutorial,第2章)时,在scaffold start阶段,我遇到了如下错误:

**undefined method `configure' for #<SampleApp2::Application:0x00000101a74610> (NoMethodError)**

但由于上面的例子,我编辑了development.rb文件:

DemoApp::Application.configure do

(是的,我的申请名为demo_app,所以我改变了它的名字).

之后,我再次try 运行scaffold,但出现了一个新错误:

**method_missing': undefined method raise_in_transactional_callbacks=' for ActiveRecord::Base:Class (NoMethodError)**

针对类似的情况,我们提出了一个migration方法——应该将其从文件开发中删除.rb.类似地,我试图在这个文件raise_in_transactional_callbacks中找到方法,但它不存在!

C:\Sites\demo_app>rails generate scaffold User name:string email:string
invoke  active_record
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.0.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing': undefined method `raise_in_transactional_callbacks=' for ActiveRecord::Base:Class (NoMethodError)
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.0.2/lib/active_record/railtie.rb:166:in `block (3 levels) in <class:Railtie>'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.0.2/lib/active_record/railtie.rb:165:in `each'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.0.2/lib/active_record/railtie.rb:165:in `block (2 levels) in <class:Railtie>'
…
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-4.0.2/lib/rails/commands.rb:48:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'

在哪里...(省略号)-专门剪切类似代码.

推荐答案

你的config/application.rb有以下几行:

config.active_record.raise_in_transactional_callbacks = true

这在您的Rails版本中不是有效的配置值.您需要将其删除或注释掉才能继续.


注:此错误和之前的错误表示Rails version change不完整.如果你处于教程的早期阶段,你可能会认真考虑从一开始就使用Rails的首选版本重新启动应用程序.这将帮助您避免此类错误,直到您更熟悉该技术.

Ruby-on-rails相关问答推荐

Ruby线程使用互斥处理并发问题

如何控制或定制S为模型使用的命名路由Rail()?

Trailblazor 操作 -> 集合 :attribute(has_many 通过关联) 与填充器 -> 如何填充 Reform::Form 形式的 slugs 数组?

Ruby on Rails 更新触发了 Mailer 函数中的 ArgumentError

Devise + Omniauth - 如何传递额外的参数?

如何使用默认的 Rails 记录器记录 Ruby 异常的整个回溯?

twitter bootstrap下拉突然不起作用

Gem 更新:在从 ASCII-8BIT 到 UTF-8 到 US-ASCII 的转换中,无法将 "\xE7" 转换为 UTF-8

模型验证中的 Rails 国际化 (I18n):可能与否?

Rails:设计:按角色登录后重定向

机械师 vs FactoryGirl - 优点和缺点

Rails如何对列求和?

升级到设计 3.1 => 获取重置密码令牌无效

Ruby on Rails:在模型中验证还是在数据库中验证更好?

警告:引用了顶级常量

将图标添加到 Rails 应用程序

我们如何在 Rails Mailer 中设置邮箱发件人的名称?

在 Devise on Rails beta 3 中创建管理员用户

submit_tag rails 表单中的 bootstrap 图标

Heroku - 在浏览器中显示当前提交的哈希