views:

38

answers:

1

Hey.Guys! Now .I have a question ,i want someone to help me to solve it ,the log of the problem like the under text

>> Department.find(EmeReference.find(:all,:select =>:ref_config_id,:conditions=>"emergency_id = 1"))
ActiveRecord::RecordNotFound: Couldn't find Department with ID=0
 from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:1591:in `find_one'
 from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:1574:in `find_from_ids_without_cache'
 from (__DELEGATION__):2:in `__send__'
 from (__DELEGATION__):2:in `find_from_ids_without_cache'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/query/abstract.rb:158:in `find_from_keys'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/query/primary_key.rb:31:in `miss'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/query/abstract.rb:66:in `hit_or_miss'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/accessor.rb:17:in `call'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/accessor.rb:17:in `fetch'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/accessor.rb:29:in `get'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/query/abstract.rb:65:in `hit_or_miss'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/query/abstract.rb:18:in `perform'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/query/primary_key.rb:17:in `perform'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/query/abstract.rb:7:in `perform'
 from /usr/lib/ruby/gems/1.8/gems/nkallen-cache-money-0.2.5/lib/cash/finders.rb:29:in `find_from_ids'
 from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:616:in `find'
 from (irb):135

that's the question! Thank you and best regards!

+4  A: 

Rails manages relations between models by itself. You do not need to nest calls like that.

EmeReference.find_by_emergency_id(1).department

This will retrieve the EmeReference object with emergency_id=1. And as you should have defined a relation between that model and the Department one, rails creates a virtual method of this second model name, allowing you to get it.

You should look at those two guides. Active Record Associations and Active Record Query Interface

Damien MATHIEU
Thank you for your help ,After looked the two guides,i understand the rails model relations clearly.
Small Wolf