我对rails上的ruby非常新,正在开发目录应用程序。我已经设置了我的数据库,并添加了一些条目。目前在我的主页面上显示了我数据库中的所有数据,但我如何才能显示一条记录。这是我的代码:
<% if notice %>
<p id="notice"><%= notice %></p>
<% end %>
<h1>Bann.com - slightly smaller than Amazon!</h1>
<% @products.each do |product| %>
<div class="entry">
<table border="1">
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td><%= image_tag(product.image_url) %></td>
<td><%= image_tag(product.image_url) %></td>
</tr>
<tr>
<td><h3><%= product.title %></h3>
<div class="price_line">
<span class="price"><%= number_to_currency product.price, :unit=>'£' %></span>
</div>
</div></td>
<td>row 2, cell 2</td>
</tr>
</table>
<% end %>
答案 0 :(得分:2)
现在,您正在循环@products.each do |product|
循环中的所有产品。如果您只想显示其中的第一个,您可以:
<% if notice %>
<p id="notice"><%= notice %></p>
<% end %>
<h1>Bann.com - slightly smaller than Amazon!</h1>
<% product = @products.first %>
<div class="entry">
<table border="1">
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td><%= image_tag(product.image_url) %></td>
<td><%= image_tag(product.image_url) %></td>
</tr>
<tr>
<td>
<h3><%= product.title %></h3>
<div class="price_line">
<span class="price"><%= number_to_currency product.price, :unit=>'£' %></span>
</div>
</td>
<td>row 2, cell 2</td>
</tr>
</table>
</div>
我也修好了你的div。当你的开始div在它之前时,你的桌子中间有一个接近的div。
答案 1 :(得分:0)
<% @products.each do |product| %>
循环遍历Product表中的所有数据。
如果您打开终端并输入rake routes
,您将看到所有可用路线的列表。可能你会看到名为'product_path'的列表。您看到的内容取决于config/routes.rb
文件中的内容。您可以阅读有关here的更多信息。
在您看来,如果您在每个循环中编写<% link_to "THIS PRODUCT!", product_path(id: product.id) %>
,您将被定向到该特定产品的展示页面(只要您有一个视图)。从那里,您可以开始构建产品展示页面。我建议您check this guide out,然后查找Michael Hartl tutorial。两者都非常有用:)
答案 2 :(得分:0)
<% @products.each do |product| %>
正在遍历@products数组的所有元素,这些元素在控制器中定义。
如果您只想显示一个产品,首先必须确定哪个产品,然后从控制器中的数据库中检索它,并使用它来设置变量,例如@product
,然后可用在你看来。