im a begginer in RoR and am using rails 3.2.3 and ruby 1.8.7
This forum has helped me to progress but I''m confused by one thing.
My app is supposed to allow seaching for results depending on the check
boxes that are checked. In my case, when the user checks a determined
facility and clicks "search" the corresponding hotels with only those
facilities should be returned. I can search by name/location and rating,
but can''t search for facilities.
Briefly, my controller looks like:
def index
@hotels= Hotel.search(params)
(...)
end
My view like:
<b>Facilities:</b><br />
<% for facility in Facility.find(:all) %>
<div class="field">
<%= check_box_tag "fc[]", facility.id%>
<%= facility.description %>
</div>
<% end %>
<%= submit_tag "Search", :name => nil%>
(...)
<% @hotels.each do |hotel|%>
<h2> <%= link_to hotel.name, hotel %> </h2>
My hotels and facilities are a has_many_and_belongs_to relationship with
everything working. The facilities_hotels table is created with the
facility_id and hotel_id collums, and the facilities table has for
columns a facility_id and description(which is for e.g. pool, 24hroom
service etc)
The issue is in my model:
def self.search(params)
if params
arel = where(''#searches for names/location/rating'')
if params[:fc].present?
arel=arel.joins(''INNER JOIN facilities_hotels ON
hotels.id=facilities_hotels.hotel_id '')
for i in params[:fc].size
arel=arel.where(''facilities_hotels.facility_id =
?'',
params([:fc][i]))
#how do I increment on the previous line? Obviously
params([:fc][i]) does not work
end
arel
else
arel
end
else
all
end
I didn''t want to do this with to_sql...
Also, when i run it, the query always returns empty results if I check a
facilities checkbox, but maybe that is a problem from that line of code
in my model but if you forsee an issue, I would appreciate a heads up in
terms of future code conflict relating to this issue
Thank you in advance
--
Posted via http://www.ruby-forum.com/.
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.