【发布时间】:2015-10-20 03:49:22
【问题描述】:
根据 JSON API 规范,我们应该使用过滤器查询参数来过滤控制器中的记录。过滤器参数实际上是什么并没有真正指定,但是由于它应该能够包含多个搜索条件,所以显而易见的事情就是使用哈希。
问题是,对于不同类型的记录,我似乎经常在控制器操作中重复自己。
下面是仅包含 id 列表(以获取多个特定记录)的过滤器的外观。
def index
if params[:filter] and params[:filter][:id]
ids = params[:filter][:id].split(",").map(&:to_i)
videos = Video.find(ids)
else
videos = Video.all
end
render json: videos
end
对于嵌套属性检查,我想我可以使用 fetch 或 andand,但它仍然看起来不够干,而且我仍然在不同的控制器上做同样的事情。
有没有办法让我看起来更好,而不是重复自己那么多?
【问题讨论】:
标签: ruby-on-rails dry rails-api json-api