0

我有一家产品商店。我创建了一个_product.html.erb包含产品摘要的部分,并将它用于索引和显示页面。

问题是,我希望产品名称成为<h1>产品展示页面中的标题,但<h2>在索引页面上。<h1>我想这样做是因为我在索引页面上有很多产品,我不确定在同一页面上有大量 s 是否有意义。对于展示页面,我只有一个产品,所以肯定想使用<h1>.

我这样做的方法是在下面的部分中使用 if/else 子句,但这有点混乱。有一个更好的方法吗?

产品/_product.html.erb

<div class="product_partial">
  <% if params[:action] == "show" %>
    <h1><%= product.name %></h1>
  <% else %>
    <h2><%= product.name %></h2>
  <% end %>          
  <h3><%= product.description %></h3>
</div>  

产品/show.html.erb

<div class="product_show">
  <%= @product %>
  <%= @product.other_info %>    
</div>

产品/index.html.erb

<div class="product_index">
  <%= @products %>
</div>
4

1 回答 1

2

也许是这样的

产品/_product.html.erb

<div class="product_partial">
    <<%= heading_tag %>><%= product.name %></<%= heading_tag %>>         
    <h3><%= product.description %></h3>
</div> 

产品/show.html.erb

<div class="product_show">
    <%= render @product, :heading_tag => 'h1' %>
    <%= @product.other_info %>    
</div>

产品/index.html.erb

<div class="product_index">
   <%= render @products, :heading_tag => 'h2' %>
</div>
于 2013-01-23T20:39:53.253 回答