db setup,active record

my app has user, photo, and state models. a user belongs to a state and thusly has a state_id field, a user has many photos. I have the photos view set up as the home page. I am trying to set up a select tag and form tag to filter through the photos by which state is selected. My files are:

view

  <%= form_tag photos_path, :method => 'get' do%>

          <%= select("state", "name", State.all.collect(&:name)) %>     <%= submit_tag "State" %>   <% end %>

controller

  if (params[:state] )         statesmen = State.find_by_name(params[:state][:name]).users         statesmen.each do |person|           @photos = Photo.where(:user_id => person.id)         end   else .....

My questions are 1 Is there a better way to collect the photos? Theres gotta be. Should I just give the photo a state_id field?

and 2 Why can't I do it this way

my app has user, photo, and state models.

a user belongs to a state and thusly has a state_id field,

a user has many photos.

I have the photos view set up as the home page.

I am trying to set up a select tag and form tag to filter through the

photos by which state is selected.

My files are:

view

<%= form_tag photos_path, :method => ‘get’ do%>

      <%= select("state", "name", State.all.collect(&:name)) %>

<%= submit_tag "State" %>

<% end %>

controller

if (params[:state] )

    statesmen = State.find_by_name(params[:state][:name]).users

    statesmen.each do |person|

      @photos = Photo.where(:user_id => [person.id](http://person.id))

    end

else …

My questions are 1

Is there a better way to collect the photos? Theres gotta be. Should I

just give the photo a state_id field?

If you added a has_many :photos, :through => :users associations to State then you should be able to do state.photos

and 2

Why can’t I do it this way

Well you haven’t said what’s not working, but at a guess it’s because you’re just assigning to @photos again and again rather than addinging the individuals results together

Fred