Getting raise_on_type_mismatch

Hello, I am a newbie Ruby developer.

I have an "Bookstore" application consisting of Books Prices.

In the Edit page, I am trying to associate Books with Price. The Books and Prices has a has_one relationship and belongs_to relationship.

class Book < ActiveRecord::Base belongs_to :price end

class Price < ActiveRecord:Base    has_one :book end

table book ( id int, title varchar(20) price_id int );

table price ( id int amount float );

When I enter the Amount in the Edit page, I get the following error:

Price(#-616403668) expected, got String(#-610120718)

/home/hemal/src/ruby/rubygems-1.1.1/gems/activerecord-2.1.0/lib/ active_record/associations/association_proxy.rb:214:in `raise_on_type_mismatch' /home/hemal/src/ruby/rubygems-1.1.1/gems/activerecord-2.1.0/lib/ active_record/associations/belongs_to_association.rb:22:in `replace' /home/hemal/src/ruby/rubygems-1.1.1/gems/activerecord-2.1.0/lib/ active_record/associations.rb:1106:in `price=' /home/hemal/src/ruby/rubygems-1.1.1/gems/activerecord-2.1.0/lib/ active_record/base.rb:2361:in `send' /home/hemal/src/ruby/rubygems-1.1.1/gems/activerecord-2.1.0/lib/ active_record/base.rb:2361:in `attributes=' /home/hemal/src/ruby/rubygems-1.1.1/gems/activerecord-2.1.0/lib/ active_record/base.rb:2360:in `each' /home/hemal/src/ruby/rubygems-1.1.1/gems/activerecord-2.1.0/lib/ active_record/base.rb:2360:in `attributes=' /home/hemal/src/ruby/rubygems-1.1.1/gems/activerecord-2.1.0/lib/ active_record/base.rb:2261:in `update_attributes' app/controllers/books_controller.rb:63:in `update' app/controllers/books_controller.rb:62:in `update'

How do I fix the error? Any help will be greatly appreciated,

/hemal.

Hello, I am a newbie Ruby developer.

I have an "Bookstore" application consisting of Books Prices.

In the Edit page, I am trying to associate Books with Price. The Books and Prices has a has_one relationship and belongs_to relationship.

class Book < ActiveRecord::Base belongs_to :price end

class Price < ActiveRecord:Base has_one :book end

It looks like you're trying to assign a string (presumably the value entered on your page) to the book's price which won't work because price= is expecting an instance of Price railscasts.com has a good series on forms that interact with multiple models (although I'm not entirely sure why you need that in this case) Fred