2013-08-28 204 views
0

我有一个名为User的模型,并在其index.html.erb文件中有一个链接,它调用一个负责检索用户认证雷达的ajax请求。在那里,它是:如何从ajax访问实例变量?

//user.js 
function retrieve_radars() { 
    $.ajax({ 
    type: "GET", 
    url: "/radars", 

    success: function(data) { 
     console.log(data); 
    } 
    }); 
} 

#app/controllers/radars_controllers.rb 
def index 
    user = current_user; 
    @radars = Radar.where(:user_id => user.id) 
    @radars 
end 

我怎么能在迭代“用户/ index.html.erb” @radars实例变量,成功Ajax响应后?我想这样做:

<% unless @radars.nil? %> 
    <table> 
    <% @radars.each do |radar| %> 
    <tr> 
     <td>Name</td> 
     <td><%= radar.name %></td> 
    </tr> 
    <% end %> 
    </table> 
<% end %> 

任何帮助吗? 谢谢

回答

2
//user.js 
function retrieve_radars() { 
    $.ajax({ 
    type: "GET", 
    url: "/radars", 

    success: function(data) { 
     //load the response from radar#index into the div (or any other element 
     $("#my_div").html(data); 
    } 
    }); 
} 

#app/controllers/radars_controllers.rb 
def index 
    user = current_user; 
    @radars = Radar.where(:user_id => user.id) 
    render :partial => "radars", :layout => false #render partial. 
end 

#app/views/radars/_radars.html.erb create partial file 
<% unless @radars.nil? %> 
    <table> 
    <% @radars.each do |radar| %> 
    <tr> 
     <td>Name</td> 
     <td><%= radar.name %></td> 
    </tr> 
    <% end %> 
    </table> 
<% end %> 
+0

它的工作!只是你的代码的一个细节,我不得不创建_radars.html.erb部分文件,而不是_radar.html.erb :) – hugalves

+0

我的不好,我从我的iPad写它:) – nyzm