图像引擎,如何在视图中访问我页面中的图像

时间:2012-03-20 13:10:39

标签: refinerycms

对于refinerycms,我添加了包含图像的引擎作为字段 当我添加图像时,它将位于炼油厂管理员的图像标签下。

如何在我的观看文件中访问该图像?

使用Refinery 2.0.2。

我发现了这个:

{ 
<% Image.all.each do |image| %>
  <%= image_fu image, "100x100", :id => dom_id(image) %>
<% end %>
}

我得到的错误是,

  

Refinery中的NameError / pages#show   未初始化的常量ActionView :: CompiledTemplates :: Image。

我手动添加了页面并为每个页面分配了模板。 (管理页面,页面标签下)
因此,在一个页面中,我想访问包含图像字段的Engine模型 我可以访问所有其他数据,但我无法访问图像。

3 个答案:

答案 0 :(得分:0)

认为你过度复杂化了。 首先,假设您正在讨论引擎的“显示视图”(即在refinery 2.x vendor / extension / ext_name / app / views / refinery / ext_names / ext_names / show中)。 如果是这样的话,应该已经生成了视图代码来渲染图像(假设你调用了场照片)。

即     &lt;%= image_fu @ ext_name.photo,“350x225”%&gt;

但是,如果您希望在此show视图之外的其他内容上看到生成的图像,那么您还必须确保该资源可用于视图(即将@ext_name检索添加到相应的控制器)。

此外,图像管理选项卡就像是与炼油厂安装相关的所有图像的桶视图 - 我会忽略它存在 - 您需要在引擎/扩展管理选项卡中添加图像。

答案 1 :(得分:0)

如果您希望引擎页面的index.html.erb中列出缩略图:

<% @products.each do |product| %>
<%= image_tag(product.image.thumbnail('100x100>').url) %>
<% end %>

其中“产品”是您的引擎名称。

答案 2 :(得分:0)

安装了refinery-cms-page-images gem后,每个页面都可以访问图像关联:

<%- @page.images.each do |image| -%>
  <%= image_tag image.thumbnail('60x60').url %>
<%- end -%>

这就是你所需要的一切!

相关问题