Получение Не удается массово назначить защищенные атрибуты: адрес - PullRequest
3 голосов
/ 12 февраля 2012

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

Запущен POST "/ admin / care_homes" для 127.0.0.1 в 2012-02-11 23:27:24 +0100 Обработка Admin :: CareHomesController # создать как HTML Параметры: {"utf8" => "✓", "authenticity_token" => "Zymx7VQU1mi + ho5T + Ups6cvHavpE4ClU6g1QFi + Y3z8 =", "care_home" => {"organisation_name" => "», «cqc_id" => ", "csa_id" => "", "address" => {"street_address" => "", "address_line_two" => "", "city" => "", "county_id" => "1", "postcode" => ""}, "istered_manager "=>" "," telephone_number "=>" "," website "=>" "," region_id "=>" 1 "," authority_id "=>" 1 "," provider_id "=>" 11789 "," details "=>" "," directions "=>" "}} Пользовательская нагрузка (0,4 мс) SELECT users. * ОТ users ГДЕ users. id = 4 ПРЕДЕЛ 1

ВНИМАНИЕ: Невозможно массово назначить защищенные атрибуты: адрес

У меня есть ИППП CareHome

На службе у меня:

class Service < ActiveRecord::Base

  paginates_per 15

  image_accessor :home_image

  has_one :address, :as => :addressable, :validate => true
  has_one :county, :through => :address

  attr_accessible :organisation_name, :cqc_id, :csa_id, :registered_manager,
              :telephone_number, 
              :website, :region_id, :authority_id, :provider_id,
              :details, :directions, :home_image, :retained_home_image,
              :county, :address_attributes

   accepts_nested_attributes_for :address

В CareHomeController # new / create у меня есть

def new
  @care_home = CareHome.new
  @care_home.build_address
end

def create
  @care_home = CareHome.new(params[:care_home])
  if @care_home.save
    redirect_to admin_care_home_path(@care_home), :notice => 'Saved' 
  else
    render 'new'
  end
end


class Address < ActiveRecord::Base

  attr_accessible :id, :street_address, :address_line_two, :city, :county_id, :postcode, :country_id, :addressable_id, :addressable_type

  belongs_to :addressable, :polymorphic => true
  belongs_to :county

Если я добавлю: адрес к attr_accessible, я получу ошибку:

Ожидается адрес (# 2560574700), получен ActiveSupport :: HashWithIndifferentAccess (# 2157282280)

My Rails версия 3.1.1.

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

1 Ответ

0 голосов
/ 12 февраля 2012

Есть ли причины, по которым вы пишете attr_accesssible.

закомментируйте эту строку и попробуйте

...