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 = @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

On Sunday, July 29, 2012 12:08:09 AM UTC+1, Ruby-Forum.com User wrote:

if (params[:state] )

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs