В приложении Rails 3.2 у меня есть модель Photo с полем :caption
и использование Carrierwave для обработки файлов изображений.
Я пытаюсь создать канал атома, содержащий изображения. Каков правильный способ сделать это?
В настоящее время у меня есть
#views/photos/index.atom.builder
atom_feed do |feed|
feed.title "Photos"
@photos.each do |photo|
feed.entry photo do |entry|
entry.title photo.title
entry.summary photo.caption
entry.image image_path(photo.file.url(:large))
entry.author do |author|
author.name photo.user.name
end
end
end
end
и хотя это добавляет тег изображения к разметке канала, я думаю, что это может быть неправильный синтаксис?
<entry>
...
<image>http://path/to/image.jpg</image>
...
</entry>
В другом месте, где я видел следующий синтаксис
<entry>
<content type="image/jpg" src="/path/to/image.png" />
</entry>
Я был бы признателен, если бы кто-то с большим знанием мог сказать мне:
- Какова правильная разметка для включения изображений в ленту атомов?
- Как сгенерировать эту разметку с помощью построителя атома/xml в Rails?
xml.media :content, url: image_model.file.url(:fullpage), type:"image/jpeg", height:770, width:770
илиxml.media :thumbnail, url: image_model.file.url(:thumb), height: 50, width:50
. (Я использую несущую волну, вам может потребоваться по-другому построить пути к изображениям. Я не уверен, применяются ли/какие ограничения к высоте и ширине). Вам также может понадобиться добавить некоторые атрибуты в начало ленты, например"xmlns:media" => "http://search.yahoo.com/mrss/"
. - person Andy Harvey   schedule 21.08.2012