小编Nor*_*ion的帖子

未定义的方法raise_in_transactional_callbacks ='for ActiveRecord :: Base:Class(NoMethodError)

在写这个问题之前,我查看了这些答案,但无法找到解决方案:

执行rails生成脚手架时出错用户名:string email:string

耙子流产了!用于ActiveRecord :: Base的未定义方法`migration_error =':Class

启动Rails服务器时出错:未定义方法'configure'


当我尝试启动一个新的应用程序(对于 Hartl的教程,第2章),在阶段脚手架开始时,我得到一个错误,如:

**undefined method `configure' for #<SampleApp2::Application:0x00000101a74610> (NoMethodError)**
Run Code Online (Sandbox Code Playgroud)

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

DemoApp::Application.configure do
Run Code Online (Sandbox Code Playgroud)

(是的,我的应用程序名为demo_app,所以我改名了).

之后,我尝试再次运行scaffold,但遇到了一个新错误:

**method_missing': undefined method raise_in_transactional_callbacks=' for ActiveRecord::Base:Class (NoMethodError)**
Run Code Online (Sandbox Code Playgroud)

对类似情况的回应表明了一种迁移方法 - 它应该从文件development.rb中删除.同样,我试图在这个文件中找到raise_in_transactional_callbacks方法,但它不存在!另外,我会说在cmd中生成的完整代码非常大:

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 …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

55
推荐指数
2
解决办法
3万
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1