3

ネストされた属性を割り当てようとすると、ログに次のように表示されます。見つけたすべての回答をスキャンして試しましたが、何も機能しません。

users, "authority_id"=>"1", "provider_id"=>"11789", "details"=>"", "directions"=>""}} ユーザー ロード (0.4ms) SELECT .* FROM usersWHERE users. id= 4 リミット 1

警告: 保護された属性を一括して割り当てることはできません: アドレス

私はCareHome < ServiceのSTIを持っています。アドレスは多態的な関係です。

サービスで私は持っています:

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

:address を attr_accessible に追加すると、エラーが発生します。

アドレス (#2560574700) が予想され、ActiveSupport::HashWithIndifferentAccess (#2157282280) を取得しました

Rails のバージョンは 3.1.1 です。

何か微妙なことに違いないと思いますが、試すアイデアが尽きてしまいました。どんな助けでも大歓迎です!

4

1 に答える 1

0

attr_accesssible と書く理由はありますか。

その行をコメントアウトして試してください

于 2012-02-12T04:21:41.603 に答える