如何将多个Paperclip网址作为JSON?

时间:2017-10-09 19:39:19

标签: ruby-on-rails json ruby

我使用Paperclip处理照片上传到我的应用程序,而某个模型可以有很多照片。到目前为止,一切运作良好,但是,我需要在我的视图中使用帮助方法注入JSON 的所有照片网址。

所以,我有一个模特:

class Model < ApplicationRecord
  ...

    def return_all_photos
        self.photos.each do |photo|
          photo.image.url(:medium)
        end
    end
  ...
end

还有一个帮手:

module ModelsHelper

   def data_as_json(item)
   {
     ...

     gallery_photos: item.return_all_photos

     ...

    }.to_json
   end
end

我没有收到任何错误,但没有出现预期的行为。我没有在JSON数据中包含带有URL的数组,而是在JSON数据中获得了一个对象数组,如下所示(来自我的devtools的截图):

Screenshot

有没有人知道导致问题的原因以及为什么不返回相应的网址?

1 个答案:

答案 0 :(得分:0)

尝试使用map而不是每个返回一个数组:

def return_all_photos
  self.photos.map { |p| p.image.url(:medium) }
end