Подтвердить что ты не робот

Невозможно назначить защищенные атрибуты

Обновление форматирования кода для лучшего просмотра.

Люди,

Я смотрел на это какое-то время, но я не понимаю, что здесь может испортить. Я использую Devise.

class User < ActiveRecord::Base
  has_many :addresses
  accepts_nested_attributes_for :addresses

  # Other stuff here
end

class Address < ActiveRecord::Base

  belongs_to :user

  validates_presence_of :zip #:street_address1, 

конец

-------------------- Выход из журнала начинается ------------------------ ------

Запущен POST "/users" для 127.0.0.1 на 2011-05-28 11:43:27 -0700 Обработка by RegistrationsController # create as Параметры HTML: { "utf8" = > "√", "Authenticity_token" = > "CEmdqlsmdYa6Jq0iIf5KAxxISsUCREIrFNXWkP80nhk =", "Пользователь" = > { "электронная почта" = > "[email protected]", "password" = > "[FILT ERED]", "Addresses_attributes" = > { "0" = > { "street_address1" = > "234 Pitkin Ct.", "Zip" = > "12456" }}}, "commit" = > "Зарегистрироваться" } ПРЕДУПРЕЖДЕНИЕ: не удается атрибуты, присвоенные массовым назначением: address_attributes SQL (0.0ms) BEGIN SQL (164.0ms) SHOW TABLES
Пользовательская нагрузка (0.0ms) SELECT users. idFROM users WHERE (users. email = BINARY '[email protected]') LIMIT 1 SQL (1.0ms) ROLLBACK

-------------------- конец вывода журнала ------------------------ ------

Почтовый индекс присутствует в опубликованных данных, и опубликованные данные, похоже, правильно отформатированы. В форме веб-страницы я получаю сообщение об ошибке "Адреса zip не могут быть пустыми". Я выкопал, что заставляет предупреждать "Не могу назначить защищенные атрибуты", но не нашел ничего, что могло бы помочь мне.

Спасибо за ваши мысли и указатели.

-S

4b9b3361

Ответ 1

Посмотрите здесь и узнайте:)

http://railscasts.com/episodes/26-hackers-love-mass-assignment


Edit:

Имея accepts_nested_attributes_for в модели User, вы можете отправить данные в модель Address.

Затем в модели Address вы должны установить запрошенный attr_accessible

Ответ 2

Внутри SpecificModel (appfolder/app/model/specific_model.rb)

Попробуйте использовать

attr_accessible :addresses_attributes, :another_attribute_to_make_mass_assignable, :another_attribute, etc.

Ответ 4

Просто укажите поле данных в модели, как указано ниже

attr_accessible :addresses_attributes