Rails类型如何转换array_agg()函数的结果

时间:2015-12-16 11:58:19

标签: ruby-on-rails

我正在尝试在Rails 4中应用这个内联视图技巧https://gist.github.com/jturkel/7917985#file-inline_view_model-rb。但是我的视图中有一列将返回从postgresql的构建函数array_agg()生成的数组。

class Product < ActiveRecord::Base
  defult_scope { set_from_clause }

  def self.set_from_clause
    query = Product.joins(:tags)
              .group("products.id")
              .select("products.id", "Array_agg('tags.id') AS tag_ids")

    from(query, table_name)
  end

  def self.columns
   [
      ActiveRecord::ConnectionAdapters::Column.new('product_id', nil, ActiveRecord::Type::String.new),
      ActiveRecord::ConnectionAdapters::Column.new('tag_ids', nil, ActiveRecord::Type::Integer.new),
    ]
  end
end

此示例代码不起作用,因为Array_agg返回的值无法正确显示。 我想知道是否有办法让这个技巧适用于示例中的tag_ids

0 个答案:

没有答案