2012-12-19 80 views
3

我有一個這樣的側邊欄;點擊一個鏈接渲染部分在div上

<div id = "sidebar-links"> 
     <% @locations.each do |locs| %> 
     <p style = "border-bottom: 1px black solid"> 
     <a href = "#" class = "sidebar-click"><%= locs['Address'] %></a></p> 
     <% end %> 
    </div> 

我要渲染的部分中另一個的div id = "container"每當點擊了側條鏈接之一,也想通過locs作爲一個局部變量來那部分;

我該怎麼做呢?

回答

1

首先嚐試使用link_to helper方法:

<%= link_to locs['Address'], ajax_link, :remote => true, :html => {:class => "sidebar-click"} %> 

那麼你應該創建一個js綁定來處理Ajax響應,是這樣的:

$(function() { 
    $(".sidebar-click").bind("ajax:success", 
    function(event, data){ 
     $("#container").html(data); 
    }); 
}); 

UPDATE: 請檢查以下文件: http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/link_to_remote

0

試試這個

<%= link_to locs['Address'], "path/to/redirect", :class => "side_bar" %> 

,然後在JS

$(".document").ready(function(){ 
    $(".side_bar").live("click", function(){ 
     $.ajax({ 
      dataType: 'html', 
      type: 'get', 
      url: $(this).attr('href'), 
      success: function(data){ 
         $(target_div).html(data); 
        } 
     }) 
    }) 
    }) 

,並在你的控制器動作

def action 
    #write your code here 
    respond_to do |format| 
    format.js{render: template} 
    end 
end