2012-10-19 22 views
0

我有rails應用程序有兩個使用相同數據的視圖端口。我可以像這樣獲取JSON格式的數據:如何使用JSON數據來提供兩個不同的視圖?

$.read(
    '/en/search/fetch_companies', 
    { current_location_lat: 72, current_location_lng: 10, bounding_box: 10 }, 
    function (response) { 
     for (var i = 0; i < response.length; i++) { 
      var markerPosition = new google.maps.LatLng(response[i].latitude, response[i].longitude); 
      var marker = new google.maps.Marker({ 
       position:markerPosition, 
       map:map, 
       title:"AJAX!" 
       }); 
     } 
    } 
); 

上面的代碼在Google地圖上創建標記。第二個視圖端口是一個簡單的表格。

<% @companies.each do |company| %> 
    <tr> 
     <td> 
     <address> 
      <strong><%= company.name %></strong><br> 
      <%= company.address %> 
      <br> 
      <%= company.city %>,<%= company.province %> 
      <br> 
      <%= company.postalcode %> 
     </address> 
     </td> 
     <td> 
     <%= link_to book_appointment_path(:choose_service, :company_id => company.id), :class => "btn btn-info btn-center-col" do %> 
      <i class="icon-time icon-white"></i> Book Appointment 
     <% end %> 
     </td> 
    </tr> 
    <% end %> 

現在我已經發送兩個請求,以獲得JSON數據。一個用於表格視圖,另一個用於Map。這是我不能接受的。 Map和Table需要一次輸入相同的數據,但由於Rails在服務器上已解析,因此無法使用JSON數據填充表。

是否有人知道一些表格可以很好地與Rails,Ajax和分頁搭配使用?

+0

使用jquery,在jquery函數中發送第一個請求,並對第二個請求使用jquery done函數。 –

+0

我不想爲相同的數據發送兩個請求。 –

+0

@ code-gijoe這不是@ suresh.g所說的;它是1個請求,通過'done'函數重新使用響應。 – Flambino

回答

0

A good enough answer for this one。考慮到這個問題的參數,我認爲這是最乾淨的解決方案。

基本上,我創建了一個RESTful服務,它允許我搜索某些內容,並使用Backbone庫顯示我的結果。我需要更多的工作,然後是一個簡單的Rails組件,因爲您需要做JS,但要正確支持AJAX,這是要走的路。

相關問題