【问题标题】:Adding individual product pages for ruby on rails e-commerce site在 Rails 电子商务网站上为 ruby​​ 添加单个产品页面
【发布时间】:2012-03-08 19:46:16
【问题描述】:

您好,我在为电子商务网站的 ruby​​ on rails 上显示产品的单个页面时遇到问题,我的显示视图代码如下:

<div class="name">
  <%= @product.name %>
</div>

<div class="description">
  <%= @product.description %>
</div>

<div class="images">

<div class="image_url">
<%= @product.image_url %>
</div>

<div class="image_url1">
  <%= @product.image_url1 %>
</div>

<div class="image_url2">
  <%= @product.image_url2 %>
</div>

<div class="image_url3">
  <%= @product.image_url3 %>
    </div>
 </div>

 <div class="price" >
   <%= @product.price %>
 </p>

这是控制器的代码:

def show
@product = Product.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.json { render json: @product}
end
end

我应该添加什么才能看到显示名称图像、描述、价格的单个产品页面,因为它在我为产品编制索引时工作正常?

【问题讨论】:

  • 您是否发现此代码有任何错误?您是否为产品创建了路线?
  • 这是我返回的:'名称:Duffer 产品描述:这是一个行李袋 图片 URL:rails.png 图片 URL 1:图片 URL 2:图片 URL 3:价格:100.0' 但是我想要的是显示的图像没有发生。

标签: html ruby-on-rails views


【解决方案1】:

您需要一个&lt;img&gt; 标记来显示图像,可以使用image_tag 方法生成。 试试这个:

<div class="image_url">
  <%= image_tag(@product.image_url) %>
</div>

Here's more information on the image_tag method

如果其中一张图片不存在,您可能还想隐藏 div

<% if !@product.image_url3.nil? && !@product.image_url3.blank? %>
  <div class="image_url3">
    <%= image_tag(@product.image_url3) %>
  </div>
<% end %>

【讨论】:

  • 您确定image_url 字段包含有效的网址吗?您是否尝试通过浏览器检查该网址?
  • 基本上我正在关注 Ruby 中的敏捷 Web 开发一书和仓库示例,但为了扩展我的知识,我正在改进。基本上,客户点击一张图片,然后他们被重定向到我停留的产品页面,显示该产品的图片。
  • 您需要您的视图来生成html img tag。这是在 Rails 中通过image_tag 方法完成的。如果我不得不猜测,我会说您在数据库中没有有效的 url。尝试连接到您的数据库并向现有图像添加一些 url。
  • rails.png存在于数据库中,存放在assets文件夹中。
  • 然后使用浏览器查看生成的页面源代码。它应该有这个:&lt;img src="rails.png" /&gt;
【解决方案2】:

我终于让它工作了,我对错误的视图文件进行了更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2017-11-13
    相关资源
    最近更新 更多