id nil当选择模型没有关系时

时间:2014-06-10 09:29:15

标签: ruby-on-rails activerecord

我有一个没有关系的模型。

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

1 个答案:

答案 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] }
相关问题