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.