当我尝试分配嵌套属性时,我在日志中得到以下信息。我已经扫描并尝试了所有我能找到的答案,但没有任何效果。
users
, "authority_id"=>"1", "provider_id"=>"11789", "details"=>"", "directions"=>""}} 用户负载 (0.4ms) SELECT .* FROMusers
WHEREusers
.id
= 4 限制 1警告:无法批量分配受保护的属性:地址
我有 CareHome < 服务的 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::HashWithIndiffergentAccess(#2157282280)
我的 Rails 版本是 3.1.1。
我想这一定是一些微妙的事情,但我已经没有想法可以尝试了。任何帮助表示赞赏!