[英]Render partial in a div on clicking a link
我有一個像這樣的側邊欄;
<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>
我想在點擊其中一個側欄鏈接並且還想將locs
作為局部變量傳遞給該局部時,在另一個div id = "container"
渲染部分;
我該怎么做呢?
首先嘗試使用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);
});
});
更新:請查看以下文檔: http : //apidock.com/rails/ActionView/Helpers/PrototypeHelper/link_to_remote
試試這個
<%= 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.