我正在尝试从我的数据库中检索汽车,其中每辆车都有制造商,并且可以有多种款式。
例如,福特嘉年华是双门轿车、轿车和掀背车。
我已经在我的模型中设置了我的关系,但现在我想创建一个查询来返回结果。查询构造将取决于提供的参数。
这是我到目前为止所拥有的
条件 = {} 条件[:manufacturer_id] = params[:manufacturer_id] 除非 params[:manufacturer_id].blank? # 这行得通! 条件[:style_id] = "style_id IN (?)", params[:style_ids] 除非 params[:style_ids].blank? #这打破了它:( 汽车 = Car.find(:all, :conditions=> 条件) 返回渲染:json =>汽车
返回的错误
PG::Error: ERROR: column cars.style_ids does not exit
当然是因为 style_id 在名为cars_styles
. 有没有办法告诉 ActiveRecord 在条件内查找哪个表?
这里的关键是我只想有一个控制器方法,它获取现有的参数,然后创建正确的查询。所以如果我没有manufacturer_id,它只会查询样式,反之亦然。当然,我稍后也会添加其他参数。