Hi dan,

You could do something like:

  ...
  posts = []
  if not name.blank? or not title.blank?
    sql_buf = []
    vals_buf = []
    if not name.blank?
      sql_buf << "name=?"
      vals_buf << name
    end
    if not title.blank?
      sql_buf << "title=?"
      vals_buf << title
    end
    conditions = [sql_buf.join(" and ")] + vals_buf
    posts = Posts.where(conditions).order(...)...
  end
  return posts
  ...

Jeff

On Jan 28, 12:59 am, dan <cmaj...@gmail.com> wrote:
> hey guys,i follow the Ruby On Rails Guides,but i didn't see the query
> about the guide,so i have a question:
> name and title are attrs in posts,i need to find records by query name
> and title with any of them are none-empty
> so should i need to detect the name or title such as:
> if name!=nil and title==nil then
>   Post.where('name=?')
> elsif name==nil and title!=nil then
>   Post.where('title=?')
> elsif(name!=nil and title!=nil) then
>   Post.where('name=? and title=?')
>
> so much boring codes,isn't it?
>
> i want to Post.clever_find(@post)

-- 
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@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to