Я не совсем уверен, что понимаю, что вы хотите сделать, но это звучит так, как вы хотите: named_scope
с (которые были изменены на scope
s, если вы используете Rails 3).
В вашей модели вы можете определить динамические именованные области:
named_scope :base, lambda { |value| { :conditions => { :base => value } } }
named_scope :status, lambda { |value| { :conditions => { :status => value } } }
И затем вы можете использовать эти области в качестве искателей:
results = Model.base(self.search_text).status(self.status) to join your conditions.
Вы можете добавить столько условий, сколько хотите, таким образом.
Это то, что вы пытаетесь сделать?