On Sat, Oct 25, 2014 at 8:07 PM, <[email protected]> wrote: > I have a table with several thousand records in it. They take a long time > to load and are essentially useless presented altogether.. I'd like present > the user a search form to select a limited subset of records for display in > the index function. What options are available to solve this problem and > where might I look for examples or demos?
How about, assuming you're searching for "widgets": - Have the view expect the index controller to pass it @widgets (an array of widget records) and @message, displaying the message and then the records if any, and the current search in a search form (blank if no criteria given). Let's defer for now the debates over more advanced ideas, like encapsulating the criteria in an object, whether that should be a PORO or not, and Sandi Metz's guideline of "only pass one object". - Have the index controller look at whatever criteria were presented. - If no criteria, just set @widgets to [], and set @message to "Please enter some search criteria." - Else, do the search (putting results in @widgets), and then: - If any results, set message to "The following widgets matched your search:" (or whatever). - Else set message to "Sorry, no widgets matched your search. Please change your search and try again." If they take a long time to load even with a reasonable search, you can present a *count* of the results, and if that's over some number, just present the count and tell the user to restrict the search some more, like by setting @widgets empty again, and putting the count in the message. (And/or look at *why* they take so long to load.) -Dave -- Dave Aronson, freelance software developer (details @ www.Codosaur.us); see also www.PullRequestRoulette.com, Blog.Codosaur.us, www.Dare2XL.com -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAHxKQii5omycWRM69%2Bq8_a13_xCPT7Kr2mHbMpnHvOzaDa1zNw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

