【发布时间】:2018-12-26 20:21:11
【问题描述】:
我正在处理 JSON 数据,我想显示带有 localhost 名称的完整图像 url 但我得到了一半 item_image_url..
"item_image_url": "/system/images/item_images/000/000/001/original/images_%284%29.jpeg?1545807832"
{
"id": 1,
"title": "Pasta",
"filename": "Burger.",
"item_image_file_name": "images_(4).jpeg",
"item_image_content_type": "image/jpeg",
"item_image_file_size": 12944,
"item_image_updated_at": "2018-12-26T07:03:52.284Z",
"updated_at": "2018-12-26T07:03:52.355Z",
"created_at": "2018-12-26T07:03:52.355Z",
"item_image_url": "/system/images/item_images/000/000/001/original/images_%284%29.jpeg?1545807832"
}
我怎样才能像这样得到这个完整的 ulr http://localhost:3000/system/images/item_images/000/000/001/original/images_%284%29.jpeg?1545807832
在控制器中
class V1::ImagesController < ApplicationController
skip_before_action :verify_authenticity_token
def index
@images = Image.all
render :json => @images.to_json(:methods => [:item_image_url])
end
def show
image = Image.find(params[:id])
render json: {status: 'success', data:image},status: :ok
end
def create
image = Image.new(image_params)
if image.save
render json: {status: 'success', data:image},status: :ok
else
render json: {status: 'error', message:'image not saved', data:image.errors},status: :unprocessable_entity
end
end
def destroy
image = Image.find(params[:id])
image.destory
render json: {status: 'success', data:image},status: :ok
end
private def image_params
params.permit(:item_image_url,:title,:filename)
end
end
在模型中
class Image < ApplicationRecord
has_attached_file :item_image, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :item_image, content_type: /\Aimage\/.*\z/
def item_image_url
self.item_image.url(:original)
end
end
请帮助..
【问题讨论】:
-
我不需要任何帮助。
标签: ruby-on-rails ruby