On Jun 27, 2:26 am, Hemal Mehtalia
<hemal.mehta...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> 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> 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.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---