Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9207497
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T00:24:02+00:00 2026-06-18T00:24:02+00:00

I have a search form that queries one table in the database but there

  • 0

I have a search form that queries one table in the database but there are many parameters (language, level, creator etc). The code below works provided the fields in question are filled in but I want to change it to:

a) add more parameters (there are several);
b) allow for a field to be empty

Here’s the code in the controller:

@materials = Material.find(:all, :conditions => {:targ_lang => params["targ_lang"],
                                                 :inst_lang => params["inst_lang"],
                                                 :level => params["level"]})

Totally new to this I’m afraid but a lot of the documentation suggests I should be using “where”.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T00:24:03+00:00Added an answer on June 18, 2026 at 12:24 am

    Since Rails 3 you can use the where() function:

    @materials = Material.where(targ_lang: params["targ_lang"], inst_lang: params["inst_lang"], level: params["level"])
    

    Also, you could take a look at scopes

    These allow you to set what you want to do in the model and call it in the controller for example:

    class Material < ActiveRecord::Base
      scope :active, where(active_state: true)
    end
    

    Then in the controller you do something like:

    @active_materials = Material.active
    

    This can be useful if you are joining several models and want to keep your controllers less messy.

    To conclude, like @RVG said, seachlogic is quite useful as well as, there are others like Sphinx and Elastic Search. You should take a quick look at these and use the one you feel most confortable with.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a search form that searches a table in my database. The table
I have a search form that executes queries returning lists of objects that are
(Using MySQL and PHP) I have a search form that will allow my users
I have a search form on my site that submits the url in the
I have a form that submits a search for blogs on my site via
The functionality I'm looking for: I have a form that will search my 'Proposal'
Let us say that I have a form to search by multiple tags in
I have a search form with min and max fields. It queries a MySQL
I have a search form that can search in different provider. I started out
This I'm sure has a really easy answer: I have a search form that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.