从列表中选择rails动态

时间:2014-03-21 11:52:37

标签: ruby-on-rails ajax dynamic

我需要根据选择的项目来更改内容。我对rails非常陌生,无法弄清楚如何做到这一点。我知道我需要使用ajax!奥基。

这是清单

 <div class="table_wrap city_list_wrap">
    <table class="city_list table normal">
        <tbody>
          <tr>
            <th colspan="3"> City list </th>
          </tr>
          <% @cities.each_slice(3) do | slice | %>
            <tr>
              <% slice.each do |city| %>
                <td class="city_tab"><%= city.title %> (<%= city.car_dealers_count %>) </td>
              <% end %>
            <tr>
          <% end %>
        </tbody>
    </table>
  </div>

在我推动其中一个城市后,您需要在表格中显示该城市项目列表,如下所示:

<div class="table_wrap">
    <table class="table normal clickable" id="item_table">
      <tbody>
        <tr>
          <th style="width:30%"><%= t("public.item.title") %></th>
          <th style="width:45%"><%= t("public.item.info") %> </th>
          <th style="width:25%"><%= t("public.item.logo") %> </th>
        </tr>
        <% city_title = "" %>
        <% @items.each do | item | %>
        <% unless city_title == item.city.title %>
          <% city_title = item.city.title %>
          <tr class="caption"><td colspan="3"><%= city_title %></td></tr>
        <% end %>
        <tr id="item-<%= item.id %>" class="hoverable">
          <td><%= item.title %></td>
          <td>
            <p>
              <%= item.address %><br><%= item.phone_number %><br/><%= link_to item.site, "http://#{item.site}", target:"_blank", rel: "nofollow", class: "item-link" if item.site.present? %>
            </p>
          </td>
          <td><%= image_tag item.small_logo, alt: item.title %></td>
        </tr>
        <% end %>
      </tbody>
    </table>
  </div>

开始时会显示此列表,并显示所有项目。点击其中一个城市后,我需要在第二个表格中仅显示该城市的项目..如何做到这一点?请帮忙。感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用此gem:https://github.com/innku/metropoli

阅读帮助,它真的很容易安装。

答案 1 :(得分:0)

Okey我做了这个非常简单的方式给了每个城市字段id它的id和行的城市项目也是id。然后根据情况点击$("id").hide() or show()