중첩 된 속성을 할당하려고하면 로그에 다음과 같은 메시지가 나타납니다. 내가 찾은 모든 답을 스캔 해 보았지만 아무 것도 작동하지 않았습니다.받기 보호 속성을 대량 지정할 수 없습니다. 주소
Started POST "/admin/care_homes" for 127.0.0.1 at 2012-02-11 23:27:24 +0100 Processing by Admin::CareHomesController#create as HTML Parameters: {"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"=>""}, "registered_manager"=>"", "telephone_number"=>"", "website"=>"", "region_id"=>"1", "authority_id"=>"1", "provider_id"=>"11789", "details"=>"", "directions"=>""}} User Load (0.4ms) SELECT
users
.* FROMusers
WHEREusers
.id
= 4 LIMIT 1WARNING: Can't mass-assign protected attributes: address
나는 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 #에서/내가
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에 주소가 나는 오류Address(#2560574700) expected, got ActiveSupport::HashWithIndifferentAccess(#2157282280)
내 레일 버전은 3.1.1입니다.
나는 그것이 미묘한 것이어야한다고 생각하지만, 시도해 볼 아이디어가 부족합니다. 어떤 도움을 주셔서 감사합니다!
설명서에 나와 있습니다. 나는 그것을 꺼내려고 노력하고 나는 같은 오류를 얻는다. – Geoff
새 양식을 보여주세요 – DeathHammer
나는 그것을 발견했다고 생각합니다. 를 사용 는'렌더링 : 부분 => "양식을": 지역 주민 {=> F를 내가 가' "양식을"렌더링 사용하는 경우 필드 이름 '주소' 와 양식을 작성 f를, : F => F 그러면 필드 이름이 'address_attributes'인 양식이 만들어지고 정상적으로 작동합니다. 왜 차이가 발생해야하는지 잘 모르시겠습니까? – Geoff