【问题标题】:How can i display a particular product?如何展示特定产品?
【发布时间】:2019-05-28 05:16:35
【问题描述】:

我正在尝试通过单击列表中的特定产品来显示它

<ul>
    <% products.each do |product| %>
    <tr>

        <a href="<%= products_path(@product) %>"><%= product.title %> .   </a>
        <br/>

    </tr>
    <% end %>
</ul>

预期结果应该是products/1,但结果是products.1,并且应该显示产品列表

【问题讨论】:

  • 显示你的 config/routes.rb 和rake routes的输出
  • 也许试试product_path而不是products_path
  • 如果您的路线使用了 "resources :products" ,那么您可以简单地使用 。无需使用任何路径。只需使用 Product 对象即可。注意:在控制器方法中应该调用“show”。

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


【解决方案1】:

不是这个

 <a href="<%= products_path(@product) %>"><%= product.title %> .   </a>

使用rails标准方式

<%= link_to product.title, product_path(product)  %>

【讨论】:

  • 还是一样,它在 url 中显示 product.id 并显示产品列表
  • Do rails routes -c products 请在问题中添加该结果
【解决方案2】:

products_path(@product) 应该是products_path(product)

【讨论】:

  • 我做到了,但仍然没有改变
【解决方案3】:

如果您的路线使用 resources :products ,那么您可以简单地使用

无需使用任何路径。只需使用 Product 对象即可。

注意:在控制器方法中应该调用“show”。

【讨论】:

    【解决方案4】:

    如果你想用这种方式而不是

    <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>
    

    但是在rails中你可以做到

    <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
    

    【讨论】:

    • @SurenderSingh 如果有效,请接受答案。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    相关资源
    最近更新 更多