如何在html.erb中显示数据库中的多个图像?

时间:2015-09-23 03:34:59

标签: ruby ruby-on-rails-3 postgresql

所以基本上我想知道什么是ruby代码来显示数据库中的图像。这是一个例子。假设我想看到产品ID:1的页面 - 它应该显示与该ID号相关的指定图像。现在,如果我想要id:2,它应该显示与该数字相关的图像。所有这些都将在一个show.html.erb页面上。我迷路了,请帮忙。

谢谢!

3 个答案:

答案 0 :(得分:0)

如果您的图片的标题符合您产品的ID:

<%= image_path("product_#{@product.id}.jpg") %>

注意:image_path是辅助方法。

答案 1 :(得分:0)

通常你的对象上应该有一个字符串属性,指向图像的url。我相信回形针宝石可以促进这一点。注入id的方法可能有效,或者随着图像的建立,它很快就会变得太复杂。

答案 2 :(得分:0)

首先,在ERB上,您需要访问显示图像所需的所有function valid(email) { var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; return emailReg.test(email); //this will either return true or false based on validation } 条记录。

快速和肮脏的演示,你可以这样访问:

Product

现在假设您为存储图片网址的每个产品都有Product.find(1) Product.find(2) Product.find(3) 列,您可以像这样显示图片:

image_url

然而,在现实世界的情况下,如果你有产品从控制器作为数组进入然后你遍历那个数组变量<%= image_tag(Product.find(1).image_url) %> <%= image_tag(Product.find(2).image_url) %> <%= image_tag(Product.find(3).image_url) %> 然后在你的ERB中迭代它会更好:

@products

如果每个产品都有多个图像并且假设您在数据库中正确设置了一对多关系,则ERB代码可能如下所示

<% @products.each do |product| %>
   <%= image_tag(product.image_url) %>
<% end %>