【问题标题】:Add paperclip url to json将回形针网址添加到 json
【发布时间】:2012-03-10 23:02:24
【问题描述】:

通常在 html 中,我们会在 image 标签中使用 Model.field.url(:thumb),如何在 json 上使用,尤其是 hash_secret。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 paperclip


    【解决方案1】:

    如果这对任何人都有帮助,我会找到一个很好的方法:

    class MyModel < ActiveRecord::Base
      has_attached_file :avatar, :styles => { :large => "500x500#", :medium => "300x300#", :small => "100x100#", :thumb => "50x50#" }
    
      def as_json(options)
        json = super
        self.avatar.styles.each do | format |
          json = json.merge({"avatar_"+format[0].to_s => self.avatar(format[0])})
        end
        json
      end
    end
    

    然后您可以简单地调用

    render :json => @my_model
    

    在渲染集合时也可以工作。

    然后可以使用 as_json(options) 进行一些条件渲染,例如:

    model_to_json = @my_model.to_json(:nested => true)
    render :json => model_json  
    

    【讨论】:

      【解决方案2】:

      在您的模型中添加以下内容以获取 url(我相信这也适用于散列):

      def photo_url_thumb
          photo.url(:thumb)
      end 
      

      然后你可以像这样输出json:

       format.json { render :json => @model.photo_url_thumb }
      

      【讨论】:

        猜你喜欢
        • 2013-07-16
        • 2016-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-13
        相关资源
        最近更新 更多