2013-06-26 3 views
0

Новичок в рельсах здесь, так что несите меня.Rails 4.0 & Devise - Strong Parameters error

Новое приложение на Rails 4 с ruby ​​2.0, я установил Devise и выполнил инструкции (корень по умолчанию и т. Д.). Разрабатываю ридй на GitHub говорит, что это должно быть совместимо с rails4 но

  • дб: мигрировать не удалось, если я не закомментирован attr_accessible линии в User.rb
  • После комментируя, что, я получить «ActiveModel :: ForbiddenAttributesError в Завещании: : RegistrationsController # create "ошибка при попытке создать пользователя.

Я вижу, что некоторые проблемы с переполнением стека подобны этому, но многие ответы прямо переходят к сложному разговору. Мне нужно указать разрешенные атрибуты для массового присвоения, но как? И где? И какие атрибуты должны быть разрешены, все они? Только те, которые я ожидаю изменить или создать одновременно?

Судя по ошибке, я создам registrations_controller.rb, который наследуется от Devise :: registrationsController? Что я могу указать в этом?

Любые пошаговые ответы новичка приветствуются. Я исчерпал себя, пытаясь использовать другой код из ответов здесь и на разных сайтах из поисковых запросов Google.

+0

Что такое ошибка, если вы не закомментируете attr_accessible –

+0

rake db: migrate грабли прерваны! 'attr_accessible' извлекается из Rails в драгоценный камень. Используйте новую рекомендованную модель защиты для params (strong_parameters) или добавьте 'protected_attributes' в свой Gemfile, чтобы использовать старый. – bvcm

ответ

7

Добро пожаловать в stackoverflow!

Проблема заключается в том, что functinality из attr_accessible изменилось в рельсах 4.0

2 возможности получить его работу

1 Update Завещания, что он может работать с Rails 4.0

Добавьте эту строку в Gemfile вашего приложения :

gem 'devise', '3.0.0.rc' 

, а затем выполнить:

$ bundle 

2 Добавить старую функциональность attr_accessible снова к рельсам 4.0

Попробуйте использовать attr_accessible и Dont комментировать это.

Добавьте эту строку в Gemfile вашего приложения:

gem 'protected_attributes' 

И затем выполнить:

$ bundle 
+0

Спасибо за это и попробуем конкретную версию, но я думал, что главная ветка разработчика была обновлена ​​с совместимостью для rails 4.0? – bvcm

+0

просто пробовал 3.0.0.rc и получить те же ошибки, просящие использовать новые «сильные параметры». Я хотел бы узнать это, поскольку это похоже на новые функции рельсов. – bvcm

+1

Если вы хотите научиться обращаться с деталями «Сильные параметры» в разработке, то полезно https://github.com/plataformatec/devise –

0

Добавление ниже драгоценных камней и делая узелок инсталляцию работал для меня

source 'https://rubygems.org' 

gem 'rails', '4.0.2' 
gem 'bootstrap-sass', '2.3.2.0' 
gem 'devise', '3.0.0.rc' 
gem 'protected_attributes' 
gem 'sqlite3'