Hi I have a standard associations belongs_to, has_many :through
class Shop < ActiveRecord::Base has_many :show_categories has_many :categories, :through => :shop_categories end class Category < ActiveRecord::Base has_many :shop_categories has_many :shops, :through => :shop_categories end class ShopCategory < ActiveRecord::Base belongs_to :shop belongs_to :category end There is one root category with hierarchical data for shops. shop_categories are holding some common fields for shop and category. mixed one record for one shop and category. So, for 100 categories, in shop_categories are 200 records, one for each shop. For this example I have 2 shops. Shop.first.category.find(10).shop_categories Rails are returning 2 shop_categories records one for each shop. Something is wrong with associations because it should find in shop_categories all records for first shop. What I need is to retrieve only one record from shop_categories for corresponding association. I have tried has_one :shop_category but it returns not one but first and always same never less if I try Shop.find(1).category.find(10).shop_categories or Shop.find(2).category.find(10).shop_categories So, what is really happening with this association? I realy can not guess, and I have tried all sort of things with no results. Logically this kind of chaining Shop.find(2).category.find(10).shop_categories should collect and join appropriate associations and return data only for shop 2. Could any one give some clues? Or clarify this kind of relation. Maybe there is another way to retrieve this single data? Thanks, Tod -- 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 rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---