Ruby 为什么我会得到一个;未定义的方法“质量分配”消毒剂='&引用;错误?
我正在Windows 7上使用Rails 3.1.3 创建新模型时出现以下错误:Ruby 为什么我会得到一个;未定义的方法“质量分配”消毒剂='&引用;错误?,ruby,ruby-on-rails-3,activerecord,Ruby,Ruby On Rails 3,Activerecord,我正在Windows 7上使用Rails 3.1.3 创建新模型时出现以下错误: C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb :1088:in `method_missing': undefined method `mass_assignment_sanitizer=' for ActiveRecord::Base:Class(NoMethodError) 我的gem文件是
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb
:1088:in `method_missing':
undefined method `mass_assignment_sanitizer=' for ActiveRecord::Base:Class(NoMethodError)
我的gem文件是:
source 'https://rubygems.org'
gem 'rails'
gem 'sqlite3'
gem 'mysql'
gem 'rspec-rails'
当我运行bundle
命令时,它执行时不会出错
我还尝试修改我的文件,如:
gem 'rails' ,'3.1.0'
以及:
gem 'rails' ,:git => 'git@github.com:rails/rails.git'
但是它给了我同样的错误。对于Rails 3.1,如果您有MySQL数据库,您可能应该使用
mysql2
gem,并且您可能不需要sqlite3
gem。您使用的是SQLite还是MySQL数据库?如果使用SQLite,则可能不需要mysql
或mysql2
gem。可能是gem问题?尝试安装rails 3.2
gem install rails --pre
并将mysql gem添加到您的包中并运行
bundle install
然后尝试创建模型并运行测试用例
那应该行。可能重复:谢谢你指出。。但我认为它有点不同:我可以运行我的每个规范,我的本地rails命令运行良好。唯一不起作用的是生成命令。好的,我想我们可以排除这个问题。可能是Ruby 1.9和Rails 3.1的问题。