colorbox-rails gem — Лайтбокс открывает всю страницу, а не только фотографию. Как я могу исправить

#javascript #jquery #html #ruby-on-rails #ruby

#javascript #jquery #HTML #ruby-on-rails #ruby

Вопрос:

Я использую colorbox-rails gem для реализации лайтбокса для фотогалереи. Вот документация для плагина — http://www.jacklmoore.com/colorbox /

Вот как я перебираю фотографии в представлении:

 <div id="photos">
  <% @photos.each do |photo| %>
  <%= link_to (image_tag photo.image.url(:medium)), photo, rel: 'photos', data: { colorbox_static: true } %>
  <% end %>
</div>
 

Когда я нажимаю на ссылку на фотографию, colorbox открывает всю веб-страницу в лайтбоксе. Я бы, конечно, хотел, чтобы фотография была только в лайтбоксе.

Я пытался стереть путь к фотографии, но это не сработало.

Спасибо за ваше время.

Комментарии:

1. понятия не имею об этом плагине, но, похоже, ваш JS нацелен на div с идентификатором и идентификатором #photos, что может вызвать такое поведение. Я бы посмотрел на цель JavaScript

Ответ №1:

Хотя у меня нет полной информации, похоже, что вы ориентируетесь на ссылку на «фото», которая, по-видимому, является моделью. Итак, вы вызываете URL-адрес, который может быть чем-то вроде «photos / 1». Проверьте источник страницы через ваш браузер, чтобы увидеть, есть ли у вас строка, которая выглядит так <a data-colorbox="true" href="/photos/1"> .

Скорее всего, вы хотите настроить таргетинг на «photo.image.url». что сделало бы целью фактическую фотографию, а не веб-страницу, на которой находится фотография. Так <%= link_to (image_tag photo.image.url(:medium)), photo.image.url, rel: 'photos', data: { colorbox_static: true } %> , может быть, это поможет?