【发布时间】:2016-04-11 15:05:43
【问题描述】:
我创建了一个简单的网络表单,用户可以在其中输入一些搜索条件来查找场地,例如一个价格范围。当用户单击“查找”时,我使用活动记录来查询数据库。如果填写了所有字段,这一切都会很好地工作。当一个或多个字段保持打开状态并因此具有 null 值时会出现问题。
如何在我的控制器中解决这个问题?我应该首先检查一个值是否为空并基于它创建一个查询吗?我可以想象我最终会得到许多不同的查询和大量代码。必须有更快的方法来实现这一点?
控制器:
def search
@venues = Venue.where("price >= ? AND price <= ? AND romance = ? AND firstdate = ?", params[:minPrice], params[:maxPrice], params[:romance], params[:firstdate])
end
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rails-activerecord