我有一个没有关系的模型。
class GridConfig < ActiveRecord::Base
end
我的问题是为什么查询结果会附加 id:nil 列?
GridConfig.select(:fontSize)
结果是
#<GridConfig id: nil, fontSize: "12px">
有什么选择吗?
谢谢。我想查找一些记录并选择某些列。并发送给客户。
user_key = params[:user_key]
grid_id = params[:grid_id]
@config = GridConfig.where(['user_key = ? and grid_id = ?', user_key, grid_id])
.select(:model_id, :fontSize, :displayCount, :columnModel)
# i checked @config variables at this point and found nil:id...
@config = @config.index_by(&:model_id)
# and i want to this makes indexed by model_id like [{"model":{...}},{"model2" : {...}}, {}]
respond_to do |format|
format.json { render json: @config }
end
答案 0 :(得分:1)
您可以使用pluck方法仅将某些列选择到数组中,然后按第一列进行索引。
@config = GridConfig.where(user_key: params[:user_key], grid_id: params[:grid_id])
.pluck(:model_id, :fontSize, :displayCount, :columnModel)
@config = @config.index_by{ |x| x[0] }