Filtering main 'list' page

Alright...I'm stuck again. I'd appreciate any help.

I'm trying to 'filter' what is on my main page. I'm using Apache LDAP
authentication and not the ror one...so my username is passed through
using a variable.

I'm trying to filter the 'division_id' to a certain number...
basically, I want to do..

select * from responses WHERE division_id = '1';

I've tried to add stuff to the index and the list areas of the
controller, but it seems like I can't get it to filter out records
that should not be displayed for that username. In the SQL query, it
looks correct in the development.log file...but it just doesn't
display correctly.

Thank you for any help!

mike

wiz561@gmail.com wrote:

Alright...I'm stuck again. I'd appreciate any help.

I'm trying to 'filter' what is on my main page. I'm using Apache LDAP
authentication and not the ror one...so my username is passed through
using a variable.

I'm trying to filter the 'division_id' to a certain number...
basically, I want to do..

select * from responses WHERE division_id = '1';

I've tried to add stuff to the index and the list areas of the
controller, but it seems like I can't get it to filter out records
that should not be displayed for that username. In the SQL query, it
looks correct in the development.log file...but it just doesn't
display correctly.

Thank you for any help!

mike

@responses = Response.find(:all, :conditions => ['division_id =
?',@division_id])

Have read AWDWR yet? Highly recommended!
http://www.pragmaticprogrammer.com/titles/rails/

Thanks for the info. Yeah, I've gone through AWDWR but still run into
problems every now and then. I *finally* just got it working. Here
is what's in my controller...

  def list
    @Division = %x("#{RAILS_ROOT}/ProtectedFiles/bin/adlookup2.pl"
#{ENV['Username']})
    @responses = Response.find(:all, :conditions => ["division_id
= ?", @Division])

    # @response_pages, @responses = paginate :responses, :per_page =>
10
  end

It turns out that if I uncomment that @response_pages line, for
whatever reason, it throughs everything off and does not run my
conditions filter. But then, if I add the :conditions to that line
and comment out my query, everything works fine.

I suppose that's where I was getting stuck up at. So now, here is my
final line where everything works great...

  def list
    @Division = %x("#{RAILS_ROOT}/ProtectedFiles/bin/adlookup2.pl"
#{ENV['Username']})

    @response_pages, @responses = paginate :responses, :per_page =>
10, :conditions => ["division_id = ?", @Division]
  end

Thank you for your help!!!

Mike

you can't paginate an already retrieved data set using the built in
rails pagination helpers. You need to put your conditions into the
'paginate' method call, which it looks like you did the second time
around. You might also want to look into using another paginator as
the built in pagination has been deprecated - the "will_paginate"
plugin is a good alternative.

Mike