当图片受控制器保护时,如何将Yoxview集成到Rails 3应用程序中?

问题描述

| 我正在尝试将Yoxview集成到我的使用Paperclip上传图片的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>
一切正常! 有任何想法吗 ? 更新 我也尝试过:
<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
,则播放器将正确打开,但仅显示这两张(原始)图片。如果单击另两个大拇指之一,则它们的原始图片将在浏览器中打开。     

解决方法

        我找到了答案。很简单。只需使用Yoxview的
allowedUrls
选项:
allowedUrls: /^\\/assets\\/\\d+\\/(thumb|original)$/i
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...