Я хочу реализовать метод в ruby для загрузки изображений из внутреннего приложения, но я не знаю как.Я пытался с image_tag непосредственно из представления, чтобы вызвать location / image / {imageId} или / image / {documentId}, но безуспешно, очевидно.Вот что я получаю из API интерфейса сервера:
[
{
"imageId": "1",
"srcDocumentId": 10000,
"scopes": null,
"teiId": "",
"name": "image",
"headline": "Fig. 1. ",
"description": "Fig. 1. GPA",
"inBody": true,
"image": "a long string",
"internalUrl": "image.png",
"source": "<figure xmlns=\"http://www.tei-c.org/ns/1.0\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xml:id=\"fig_3\"><head>Fig. 1. </head><figDesc>Fig. 1. GPA</figDesc><graphic coords=\"4,130.95,64.62,360.00,502.42\" type=\"bitmap\" url=\"image.png\"/></figure>",
"ord": 0
}
]
Любая помощь будет принята с благодарностью.Даже если вы расскажете мне только логику о том, как я должен справиться с этим в модели, а затем на виде.
Редактировать:
Допустим, я хочу показать заголовок и описание изображенияпервый.У меня есть это в document_helper.rb
:
def images_format(image)
m = []
m << [['Description:', image.description]] if image.description
m << [
['Headline', image.headline]
] if image.headline.any?
m
end
в document.rb
У меня есть это:
class Image
include Mongoid::Document
field :description, type: String
field :headline, type: String
field :image, type: String
field :imageId, type: String
field :image, type: String
field :srcDocumentId, type: Integer
field :internalUrl, type: String
field :name , type: String
field :internalUrl, type: String
field :source, type: String
end
, а также это:
embeds_one :image, class_name: 'Document::Image'
embeds_one :image, class_name: 'Document::Image'
и впосмотреть document_show.haml Я положил:
.document__body= images_format(@document.image)
Я получаю эту ошибку: undefined method 'description' for nil:NilClass