named_scope not working

I am just trying to have the current_user only view students from his or her site. I wrestled with this many times and others say this should work but it only returns an empty set:

StudentsController

def index_scoper   if current_user.role_id == 8     if current_user.contact and current_user.contact.contactable       students = current_user.contact.contactable.students     else       students =     end   else     super.with_state.with_site   end end

Students Model named_scope :contactable, lambda { |current_user|

    case     when current_user.contact.contactable_id = 1 && current_user.contact.contactable_type = 'site' then        { :conditions => {:site_id => 1}}        when current_user.contact.contactable_id = 2 && current_user.contact.contactable_type = 'site' then        { :conditions => {:site_id => 2}}     end

Model relationships: A contact has_one user. A contact belongs_to site via contactable_id and contactable_type (polymorphic relationship). A site has_many students.

Any suggestion or clue as to why the named_scope doesn't show students with site_id same as the current_user?

Students Model named_scope :contactable, lambda { |current_user|

case
when current\_user\.contact\.contactable\_id = 1 &&

current_user.contact.contactable_type = 'site' then { :conditions => {:site_id => 1}} when current_user.contact.contactable_id = 2 && current_user.contact.contactable_type = 'site' then { :conditions => {:site_id => 2}} end

This looks odd - you've got single equals when you probable wanted to compare and not assign

Fred