Ruby on rails - 将超链接更改为表列

时间:2016-06-29 04:59:02

标签: ruby-on-rails ruby

我已经创建了一个列表,其中包含名为“Categories”的表中列的超链接,有5个类别,下面的第一组代码会生成所有5个的超链接。

我想制作一个下拉菜单,但只显示两个类别,而不是全部5.目前,我只是使用href到网址,但还有其他一些方法我可以链接到两个列“类别”表?

链接:

<ul>
    <% Category.all.each do |category| %>
    <li><%= link_to category.name, items_path(category: category.name) %></li>
    <% end %>
</ul>

下拉菜单:

<div class="container">
  <div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Canon
    <span class="caret"></span></button>
    <ul class="dropdown-menu">
        <li><a href="http://localhost:3000/items?category=Canon+Camera">Canon Cameras</a></li>
        <li><a href="http://localhost:3000/items?category=Canon+Lens">Canon Lenses</a></li>
    </ul>
  </div>
</div>

2 个答案:

答案 0 :(得分:0)

使用take()limit()方法来限制您想要获得的项目数量:

<ul>
    <% Category.take(2).each do |category| %>
    <li><%= link_to category.name, items_path(category: category.name) %></li>
    <% end %>
</ul>

答案 1 :(得分:0)

关于您的问题&#34;可以链接到&#34;类别&#34;中的两列。表&#34?; - 请查看我的评论:

SQL方法:

  

SELECT CONCAT(&#39;&#39;,&#34; name&#34;,&#34; title&#34;)AS&#34; name&#34;来自类别;

Rails方法:&lt;%= link_to&#34;#{category.name}#{category.title}&#34;,items_path(category:category.name)%&gt;