Как интегрировать приложение Yoxview в Rails 3, когда изображения защищены контроллером? - PullRequest
0 голосов
/ 25 июня 2011

Я пытаюсь интегрировать Yoxview в мое приложение Rails 3, которое использует Скрепка для загрузки изображений.

Основная проблема в том, что изображения (как оригинальные, так и большие) не находятся в общедоступной области , т.е. они доступны через контроллер, как описано здесь .

Соответствующий HTML выглядит так:

<div id="my_wrapper">
  <a href="/assets/1/original"><img src="/assets/1/thumb" /></a>
  <a href="/assets/2/original"><img src="/assets/2/thumb" /></a>
</div>

Когда вы нажимаете на миниатюру, я ожидаю, что проигрыватель Yoxview будет открыт, но в результате открывается исходное изображение в браузере.

Когда фотографии находятся в общественных местах, как это:

<div id="my_wrapper">
  <a href="/images/originals/1.jpg"><img src="/images/thumbs/1.jpg" /></a>
  <a href="/images/originals/2.jpg"><img src="/images/thumbs/2.jpg" /></a>
</div>

все отлично работает!

Есть идеи?


UPDATE

Я пробовал также:

<div id="my_wrapper">
  <a href="/images/originals/1.jpg"><img src="/images/thumbs/1.jpg" /></a>
  <a href="/images/originals/2.jpg"><img src="/images/thumbs/2.jpg" /></a>
  <a href="/assets/1/original"><img src="/assets/1/thumb" /></a>
  <a href="/assets/2/original"><img src="/assets/2/thumb" /></a>
</div>

Здесь, если я нажимаю thumbs/1.jpg или thumbs/2.jpg, проигрыватель открывается правильно, но показывает только эти две (оригинальные) картинки. Если я нажму на один из двух других больших пальцев, их исходное изображение откроется в браузере.

1 Ответ

2 голосов
/ 26 июня 2011

Я нашел ответ.Это так просто.Просто нужно было использовать allowedUrls опцию Yoxview:

allowedUrls: /^\/assets\/\d+\/(thumb|original)$/i
...