ruby on rails - Object expected, got ActiveSupport::HashWithIndifferentAccess Nested form -


i getting error haven't seen before, have tried solutions similar questions here, trying select council tenant lives pre-populated council model, using through council history, form shows when press submit keep getting error. appreciate problem.

started put "/properties/6/build/council" 127.0.0.1 @ 2013-08-18 22:32:55 +0100 processing properties::buildcontroller#update html   parameters: {"utf8"=>"✓",    "authenticity_token"=>"wbwqaxtbioqzglkhurstqs+cfd/xveutxnj0jwntsa0=", "property"=>   {"council_history"=>{"id"=>"1"}}, "commit"=>"save property[council history]",  "property_id"=>"6", "id"=>"council"}   property load (0.3ms)  select "properties".* "properties" "properties"."id" =   ? limit 1  [["id", "6"]]    (0.1ms)  begin transaction    (  0.1ms)  rollback transaction  completed 500 internal server error in 62ms  activerecord::associationtypemismatch - councilhistory(#70308444526760) expected, got          activesupport::hashwithindifferentaccess(#70308443935640): activerecord (3.2.13) lib/active_record/associations/association.rb:204:in `raise_on_type_mismatch'   activerecord (3.2.13) lib/active_record/associations/has_one_association.rb:8:in `replace'   activerecord (3.2.13) lib/active_record/associations/singular_association.rb:17:in `writer'   activerecord (3.2.13) lib/active_record/associations/builder/association.rb:51:in `block in define_writers'   activerecord (3.2.13) lib/active_record/attribute_assignment.rb:94:in `block in assign_attributes'   activerecord (3.2.13) lib/active_record/attribute_assignment.rb:93:in `assign_attributes'   activerecord (3.2.13) lib/active_record/persistence.rb:216:in `block in update_attributes'   activerecord (3.2.13) lib/active_record/transactions.rb:313:in `block in with_transaction_returning_status'   activerecord (3.2.13)    lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'   activerecord (3.2.13) lib/active_record/transactions.rb:208:in `transaction'   activerecord (3.2.13) lib/active_record/transactions.rb:311:in `with_transaction_returning_status'   activerecord (3.2.13) lib/active_record/persistence.rb:215:in `update_attributes'   app/controllers/properties/build_controller.rb:23:in `update' 

property model

class property < activerecord::base   attr_accessible  :name, :address_attributes, :tenants_attributes, :meter_attributes,  :council_history, :council_history_attributes, :property_id, :council_id, :status   belongs_to :user     has_one :council_history   accepts_nested_attributes_for :council_history    has_one :council, through: :council_history   accepts_nested_attributes_for :council  end 

council model

class council < activerecord::base   attr_accessible :councilemail, :name, :counciltel    has_many   :council_history    has_many   :properties, :through => :council_history  end 

council history model

 class councilhistory < activerecord::base   attr_accessible :council_id, :property_id, :vacant     belongs_to :council    belongs_to :property   end 

select council view form

<h1>select council</h1>    <%= simple_form_for @property, :url => url_for(:action => 'update', :controller =>   'properties/build'), :method => 'put' |f| %>   <%= f.simple_fields_for :council_history |builder| %>   <%= builder.input :id, :collection => council.all %>   <%= builder.submit %>  <% end %> <% end %> 

build property controller

class properties::buildcontroller < applicationcontroller   include wicked::wizard     steps :tenant, :meter, :council, :confirmed     def show     @property = property.find(params[:property_id])     @tenants = @property.tenants.new(params[:tenant_id])     @meter = @property.build_meter     @council = @property.build_council_history     render_wizard   end    def edit     @property = property.find(params[:property_id])   end     def update     @property = property.find(params[:property_id])     params[:property][:status] = step.to_s     params[:property][:status] = 'active' if step == steps.last     @property.update_attributes(params[:property])     render_wizard @property   end end 

in property model have attr_accessible :council_history, try removing it.

i didn't test believe problem because have has_one :council_history, simple_fields_for using :council_history instead of generating council_history_attributes parameters.


Popular posts from this blog

php - How should I create my API for mobile applications (Needs Authentication) -

5 Reasons to Blog Anonymously (and 5 Reasons Not To)

Google AdWords and AdSense - A Dynamic Small Business Marketing Duo