我试图通过从列表中单击来显示特定产品
<ul>
<% products.each do |product| %>
<tr>
<a href="<%= products_path(@product) %>"><%= product.title %> . </a>
<br/>
</tr>
<% end %>
</ul>
预期结果应为products/1
,但结果应为products.1
,并应显示产品列表
答案 0 :(得分:1)
代替这个
<a href="<%= products_path(@product) %>"><%= product.title %> . </a>
使用rails标准方式
<%= link_to product.title, product_path(product) %>
答案 1 :(得分:0)
products_path(@product)
应该是products_path(product)
答案 2 :(得分:0)
如果您要以这种方式代替
<ul>
<% products.each do |product| %>
<tr>
<a href="<%= products_path(@product) %>"><%= product.title %> . </a>
<br/>
</tr>
<% end %>
</ul>
尝试
<ul>
<% products.each do |product| %>
<tr>
<a href="/products/#{product.id}"><%= product.title %></a>
<br/>
</tr>
<% end %>
</ul>
但是您可以这么做
<ul>
<% products.each do |product| %>
<tr>
<%= link_to product.title, product_path(product) %>
<br/>
</tr>
<% end %>
</ul>
或
<ul>
<% products.each do |product| %>
<tr>
<%= link_to product.title, product %>
<br/>
</tr>
<% end %>
</ul>
以及您应指定的路线
resources :products
答案 3 :(得分:0)
如果您的路线使用 resources:products ,则可以简单地使用
无需使用任何路径。只需使用Product对象。
注意:在控制器方法中,应调用“显示”。