我有这样的模型使用回形针
has_attached_file :image, styles: { :medium => "50x50>" }
validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/
def image_url
image.url(:medium)
end
我需要Json,所以在我的控制器中,
respond_to do |format|
format.json { render json: @celebrity.to_json(:methods => [:image_url])}
end
结果是
"image_url":"/system/celebrities/images/000/000/003/medium/Designed___developed_by_wd_ApS.png?1430926991"
但是,我需要包括域名localhost:3000,所以我必须在这里做
尝试这个。
创建模块:
module WithDomain
def domain
@domain
end
def domain=(val)
@domain = val
end
def domain?
@domain.present?
end
end
相应地更改模型:
class Celebtiry < ActiveRecord::Base
include WithDomain
# existing staff
def image_url
if domain?
URI.join(domain, image.url(:medium)).to_s
else
image.url(:medium)
end
end
end
并在您的控制器中:
respond_to do |format|
format.json {
@celebrity.domain = request.base_url
render json: @celebrity.to_json(:methods => [:image_url])
}
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句