Я использую Rails Api 5.1.6 как серверную часть и качестве клиента Angular 4. Все данные хранятся в базе данных Oracle. Изображения в Oracle хранятся в формате «Blob». Для работы с изображениями на Rails Api использую gem "paperclip".
Так вот когда я пытаюсь отобразить изображение на клиенте, появляется ошибка «404 not found ». Вот ошибка в консоли:
GET localhost:4200/photos/original/missing.png 404 (Not Found)
Пробовал перейти по данной ссылке:
localhost:3000/photos/original/missing.png
, но появлялась вот такая ошибка (Если нужно могу полную ошибку скинуть):
"#ActionController::RoutingError: No route matches [GET] "/photos/original/missing.png""
JSON:
[
{
l_users_id: 65,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1357,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1358,
photo: "/photos/original/missing.png"
},
{
l_users_id: 51,
photo: "/photos/original/missing.png"
},
{
l_users_id: 2,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1360,
photo: "/photos/original/missing.png"
},
{
l_users_id: 0,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1372,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1371,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1370,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1373,
photo: "/photos/original/missing.png"
}
]
photos_controller.rb:
class PhotosController < ApplicationController
def index
@photos = Photo.all
array = @photos.map do |photo|
photo_push = {
l_users_id: photo.l_users_id,
photo: photo.photo.url
}
photo_push
end
render json: array
end
def show
@photo = Photo.find(params[:id])
photo_hash = {
l_users_id: photo.l_users_id,
photo: photo.photo.url
}
render json: photo_hash
end
end
photo.rb:
class Photo < ActiveRecord::Base
self.primary_key = "l_users_id"
has_attached_file :photo
validates_attachment_presence :photo
validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']
end