Почему я получаю сообщение об ошибке "неопределенный метод` mass_assignment_sanitizer = '"? - PullRequest
0 голосов
/ 01 января 2012

Я работаю с Rails 3.1.3 в Windows 7.

Я получаю следующую ошибку при создании новой модели:

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'

Но это дает мне ту же ошибку.

Ответы [ 2 ]

2 голосов
/ 02 января 2012

Попытайтесь установить rails 3.2

gem install rails --pre

И добавьте mysql gem в ваш комплект и запустите

bundle install

Затем попробуйте создать модели и запустить тестовые случаи.

Это должно сработать.

0 голосов
/ 02 января 2012

Для Rails 3.1 вам, вероятно, следует использовать гем mysql2, если у вас есть база данных MySQL , и вам, вероятно, не нужен гем sqlite3. Используете ли вы базу данных SQLite или MySQL ? Если вы используете SQLite , то вам, вероятно, не нужен гем mysql или mysql2. Может быть, проблема с драгоценными камнями?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...