Hi Guys
i have this method for finding a list of items via check-boxes
def selected
conditions = [[]]
params[:result].each do |result_id|
conditions.first << ''feature.uniquename=?''
conditions << result_id
end
conditions[0] = conditions.first.join('' OR '')
conditions=[''1=1''] if conditions.empty?
@items= Feature.find(:all, :conditions => conditions)
end
however when no checkbox is checked and one hits the select button i
get this error.
"NoMethodError (You have a nil object when you didn''t expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each):"
i would like to either trap the error and display it in a "friendly
way"
or not display anything at all.
i tried this in my view but it does not seem to help
<% if @items.length > 0 %>
<%@items.each do|item|%>
<b>><%=item.uniquename%></b>
<%end%>
<%else%>
<b>no selection</b>
<%end%>
Thank you.
--
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
def selected
conditions = [[]]
params[:result].each do |result_id|
conditions.first << ''feature.uniquename=?''
conditions << result_id
end if params[:result]
conditions[0] = conditions.first.join('' OR '')
conditions=[''1=1''] if conditions.first.empty?
@items= Feature.find(:all, :conditions => conditions)
end
--
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
i meant
def selected
conditions = [[]]
params[:result].each do |result_id|
conditions.first << ''feature.uniquename=?''
conditions << result_id
end if params[:result]
conditions[0] = conditions.first.join('' OR '')
conditions=[''1=1''] if !conditions.first or
conditions.first
== ''''
@items= Feature.find(:all, :conditions => conditions)
end
--
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Keynan Pratt wrote:> i meant > > def selected > conditions = [[]] > params[:result].each do |result_id| > conditions.first << ''feature.uniquename=?'' > conditions << result_id > end if params[:result] > > > conditions[0] = conditions.first.join('' OR '') > conditions=[''1=1''] if !conditions.first or conditions.first > == '''' > > @items= Feature.find(:all, :conditions => conditions) > endThanks Keynan! How would i pass a message to the user informing him to make a selection? This is because with no selection the method seems make the browser hang, till i manually stop the execution. -- 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
the browser should not be hanging. pop in a few logger.debug statements
to find where your trapped in a loop.
As for notifying the user
def selected
conditions = [[]]
if params[:result]
params[:result].each do |result_id|
conditions.first << ''feature.uniquename=?''
conditions << result_id
end
else
flash[:notice] = ''Please select a feature name.''
end
conditions[0] = conditions.first.join('' OR '')
conditions=[''1=1''] if !conditions.first or
conditions.first
== ''''
@items= Feature.find(:all, :conditions => conditions)
end
--
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---