在sqlserver中的条件,但使用rails activerecord

时间:2012-10-05 00:22:52

标签: ruby-on-rails-3 activerecord

我怀疑。我正在使用rails 3.我想过滤我的模型。这个,

class Company   
  attr_accesible :name, :description
end

在sql server存储过程中,我会做类似这样的事情

select * from Company where (@company_name is null or name like @company_name) and (@company_description is null or description like @company_description) and (@ids is null or id in @ids)

上面的代码就是一个例子。是过滤器的主人。构建这样的查询的正确方法是什么?

提前致谢

希望明确。

1 个答案:

答案 0 :(得分:0)

好的,正如我所知,你在@company的视图表单中有名称\ description \ ids字段。 然后在您的控制器中,您可以执行以下搜索:

@company = Company.find(:all, conditions:["name LIKE(?) OR description LIKE(?) OR id IN(?)", params[:company][:name], params[:company][:description], params[:company][:ids]])