Pito Salas wrote:
> Here's an example:
> 
> class LineItem < ActiveRecord::Base
>   belongs_to :order
> end
> 
> class Order < ActiveRecord::Base
>   has_many :line_items
> end
> 
> my_line_item = LineItem.find(:zipcode => "12345")
> 
> Order.find_by_line_item(my_line_item) # doesn't work
> 
> Order.find_by_line_item_id (my_line_item) # does work
> 

Probably not explaining this clearly enough (I blame the distillery 
masters at Lagavulin), but:

find_by_line_item fails - my_line_item is an instance of the class (an 
object) that does not have a 'line_item' attribute you indicated, it 
*is* a LineItem

find_by_line_item_id works - rails infers the id attribute when you pass 
an object (my_line_item), and in this case you've provided enough 
information to tell rails which attribute to use...

I suppose you could mod the logic for find to include your syntax...
-- 
Posted via http://www.ruby-forum.com/.

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to