[code=ruby]class User
has_and_belongs_to_many :chains
has_and_belongs_to_many :outlets
end
class Outlet < ActiveRecord::Base
belongs_to :chain
has_and_belongs_to_many :users
has_and_belongs_to_many :outlet_managers, :class_name => ‘User’, :conditions => {:role => ‘outlet_manager’}
end
class Chain < ActiveRecord::Base
has_and_belongs_to_many :users
has_and_belongs_to_many :chain_managers, :class_name => ‘User’, :conditions => {:role => ‘chain_manager’}
has_many :outlets
end[/code]
Dla chain_manager.outlets chciałbym uzyskać wszystkie outlety które są w danej sieci. Aktualnie to nie działa poprawnie ponieważ generuje zapytanie
Czy macie jakiś ciekawszy pomysł niż nadpisanie :finder_sql w zależności od aktualnego role ?
Z grubsza to chciałbym żeby user.outlets zwracało mi outlety niezależnie jaką role ma user. Ale jeśli jest chain menagerem to tutaj one są pobierane inaczej niz zwykle, podobnie może być dla jakiejś innej roli.
Nie, chodzi mi o to zeby user.outlets zwróciło mi wszystkie outlety do których user jest przypisany a niekoniecznie ma role ‘chain_manager’. Najlepiej bez grzebania z finder_sql