我正在制作一张我计划用Masonry和ImgZoom展示的相册,以便访问者在点击它时可以获得更大的图像。
根据ImgZoom,要使缩放工作,您需要执行以下操作:
<local ref> SP <local sha1> SP <remote ref> SP <remote sha1> LF
所以我生成了一个上传器,里面有以下内容:
<a href="path/to/real/image.png">
<img src="path/to/image's/thumbnail.png class="thumbnail" />
</a>
一切都很完美,我可以毫无困难地调用这两个版本,但是当我尝试按照ImgZoom的说明执行以下操作时:
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
'portfolio/photos'
end
version :thumb do
process :resize_to_fit => [220, nil]
end
end
或:
<%= @portfolio.photos.each do |p| %>
#This is a nested form inside the portfolio form, so I need to do this to get my images
<%= link_to image_tag p.image.thumb.url, p.image %>
我收到以下错误:<%= link_to p.image do %>
<%= image_tag p.image.thumb.url, :class => 'thumbnail' %>
<% end %>
我在堆栈溢出时发现了一个类似的主题,但提问者并不清楚,并被邀请在论坛上提出另一个问题,我无法找到。 我可以单独触及&#39; p.image&#39;和&#39; p.image.thumb.url&#39;,但我无法建立从一个链接到另一个链接,这对于简单的html来说是完全可行的。
我做错了什么?
提前谢谢
答案 0 :(得分:3)
首先,创建班级&#34;缩略图&#34;在链接中,您需要正确声明它。我编辑了链接:
<%= link_to p.image.url do %>
<%= image_tag p.image.url, class: "thumbnail" %>
<% end %>
其次,您需要检查是否创建了适合查看图像的路径。这可以通过正确链接到静态资源(因为您的图像不在&#34;公共&#34;)或通过模板视图来完成。
如果文件存储在&#34; public&#34;下,您的链接方式应该可以正常工作。
查看image_path在文档中的工作原理:image_path (and more)