2013-08-28 203 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