【发布时间】:2011-08-14 18:50:21
【问题描述】:
使用 Rails ActiveRecord 构造 where 子句的最佳方法是什么?例如,假设我有一个返回博客文章列表的控制器操作:
def index
@posts = Post.all
end
现在,假设我希望能够传入一个 url 参数,以便此控制器操作仅返回特定作者的帖子:
def index
author_id = params[:author_id]
if author_id.nil?
@posts = Post.all
else
@posts = Post.where("author = ?", author_id)
end
end
这对我来说不是很干燥。如果我要添加排序或分页,或者更糟糕的是,更多可选的 URL 查询字符串参数来过滤,这个控制器操作会变得非常复杂。
【问题讨论】:
标签: ruby-on-rails activerecord