将数据附加到对象

时间:2017-05-06 09:32:29

标签: ruby-on-rails ruby-on-rails-4

由于CarrierWave及其多上传功能,我有一个包含数组的活动记录,其中包含文件(see this)。

我想提取这些文件并将它们放入JSON中。目前,JSON部分可以工作,但我无法将这些数据添加到JSON本身。

  # GET /multifiles
  def index
    @fichiers = Multifile.all
    @multifile = {}
    @fichiers.each do |m|
      m.fichiers.each do |f|
        path = f.url
        @fichiers << path if path

      end
    end

    render json: @fichiers
  end

我读了很多stackoverflow消息,说这是向对象附加一些值的方法,但是当我刷新时,我得到以下内容:

undefined method `<<' for #Multifile::ActiveRecord_Relation:0x000000122beaa0>

我做错了什么?

提前谢谢

1 个答案:

答案 0 :(得分:1)

@fichiers在您发送<<时不是数组。

要使其成为数组,请替换

@fichiers = Multifile.all

通过

@fichiers = Multifile.all.to_a