Rails回形针具有绝对URL的静态文件

Rus*_*nok 2 ruby-on-rails paperclip ruby-on-rails-3

我有一个带有一个回形针附件的模型:图像

模型:

class HomeScreen < ActiveRecord::Base
  before_create { !HomeScreen.has_record? }
  validates :image, :attachment_presence => true
  attr_accessible :image
  has_attached_file :image

  def self.has_record?
    if HomeScreen.last
      true
    else
      false
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我的conttroller的show方法应该返回带有相对路径的图像,但是json应该返回带域的绝对url,我该怎么办呢?

控制器:

class HomeScreenController < ApplicationController
  # GET /home_screen
  def show    
    @home_screen = HomeScreen.last

    respond_to do |format|
      format.html
      format.json { render json: @home_screen }
    end
  end
Run Code Online (Sandbox Code Playgroud)

KAR*_*ván 5

根据github问题,您可以执行以下操作:

image_uri = URI.join(request.url, @home_screen.image.url)
Run Code Online (Sandbox Code Playgroud)

这将是一个URI对象,它可以被转换成一个String与它的.to_s