В моем приложении rails3 у меня есть галерея изображений, где:
gallery has many images
image belongs to gallery
Я использую carrierwave для загрузки изображений на S3.
Моя страница галереи (действие "показать") отображает миниатюры для каждого изображения в этой галерее.
Я использую colorbox для модального отображения изображений, когда пользователь нажимает на миниатюру.
Довольно часто я вижу это после нажатия на изображение:
то, что я хочу увидеть, это:
Я сделал ОЧЕНЬ много проблем:
- Попробовал использовать FancyBox вместо ColorBox - та же проблема
- Попробовал использовать другую ветку CarrierWave - та же проблема
- Попытался поместить мои изображения в европейские корзины (я в Европе)- та же проблема
- Пробовал загружать мои изображения вместе с галереей - та же проблема
- Пробовал с помощью Google Hosted jQuery 1.4.1 и 1.4.3 - та же проблема
- Загруженовсе к Heroku - та же проблема
- Попробовал явно установить ширину моегоcolorbox (а также различные другие элементы содержимого)
- Отредактированный ACL для S3 Bucket
- Использование html5 doctype для images.html.haml (макет для контроллера изображений)
Это имеет тенденцию при первом нажатии на миниатюру после его загрузки , хотя я заметил, что это происходит с изображениями, на которые я не нажимал в течение часа или около того,Проблема исчезнет, если я снова нажму на миниатюру сразу после сбоя .... У меня никогда не возникало проблем с миниатюрами, все они загружаются нормально.Кажется, что большая (оригинальная) версия изображения не загружается с первой попытки.
- В моих журналах нет ошибок.
- Это сводит меня с ума.
- Я использую Fog gem версии 0.3.13.
Что еще я могу сделать здесь?Какие еще способы устранения неполадок можно попробовать?Любая помощь будет оценена.
Вот мой код:
class Image < ActiveRecord::Base
belongs_to :gallery
mount_uploader :photo, ImageUploader
attr_accessible :photo, :gallery_id
validates_presence_of :photo
end
class Gallery < ActiveRecord::Base
default_scope order("id DESC")
has_many :images
attr_accessible :name, :images_attributes, :description
accepts_nested_attributes_for :images, :reject_if => :all_blank, :allow_destroy => true
validates_presence_of :name
end
#images/show.html.haml
= image_tag @image.photo_url if @image.photo_url
#galleries/show.html.haml
- for image in gallery.images
.image
= link_to image_tag(image.photo_url(:thumb)), image_path(image), :name=>"modal", :class=>"group" if image.photo_url(:thumb)
#layouts/images.html.haml
!!! 5
%html
%body
#image
= yield