Я работаю с данными JSON, я хочу отобразить полный 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
Просьбы нуждаются в помощи ..