我在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)
我的宝石文件是:
source 'https://rubygems.org'
gem 'rails'
gem 'sqlite3'
gem 'mysql'
gem 'rspec-rails'
当我运行bundle
命令时,它会在没有错误的情况下执行。
我也尝试修改我的Gemfile,如:
gem 'rails' ,'3.1.0'
和:
gem 'rails' ,:git => 'git@github.com:rails/rails.git'
但它给了我同样的错误。
答案 0 :(得分:2)
尝试安装rails 3.2
gem install rails --pre
将mysql gem添加到您的包中并运行
bundle install
然后尝试创建模型并运行测试用例。
这应该有效。
答案 1 :(得分:0)
对于Rails 3.1,如果你有一个 MySQL 数据库,你可能应该使用mysql2
gem,而你可能不需要sqlite3
gem。您使用 SQLite 或 MySQL 数据库吗?如果您使用 SQLite ,那么您可能不需要mysql
或mysql2
gem。也许是宝石问题?