2012-04-17 74 views
1

這是我的簡單ajax代碼。用新數據渲染當前頁面

發出請求,我得到響應,但我的視圖沒有用新數據呈現。我用新的html獲得了一個新的頁面,我要求這個新的頁面在當前頁面內呈現。

控制器 -

def list 
    @users = User.find(:all) 
    end 

    def show 
    respond_to do |format| 
    format.html { render :partial => "ajaxshow" } 
    format.js 
    end 
    end 

視圖 -

<% @users.each do |c| %> 
<%= link_to c.user_id, {:action => :show, :user_id => c.user_id, :remote => true } %> 
<% end %> 

局部 -

# cat _ajaxshow.html.erb 
<div align="left" id="user_ajax"> 
<table width="1000px"> 
<tr><th>User ID</th><th>First</th><th>Last</th><th>ID</th><th>Email</th></tr> 
</table> 

日誌 -

Started GET "https://stackoverflow.com/users/show?remote=true&user_id=someuser" for 10.10.10.10 at 2012-04-17 04:01:09 -0400 
Processing by UsersController#show as HTML 
    Parameters: {"remote"=>"true", "user_id"=>"someuser"} 
    Rendered users/_ajaxshow.html.erb (0.3ms) 
Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.0ms) 
+0

我的猜測是:JavaScript的 – pguardiario 2012-04-17 08:27:48

+0

@pguardiario - 見下面我的意見。我剛剛添加了一個js.erb但沒有結果。 – 2012-04-17 08:52:30

+0

你如何添加這些數據?對我來說,你必須發佈這些數據似乎是明智的。所以正確的路徑是使用創建操作。你可以在這裏閱讀http://blog.madebydna.com/all/code/2011/12/05/ajax-in-rails-3.html和這裏http://net.tutsplus.com/tutorials/javascript-ajax/using-unobtrusive-javascript-and-ajax-with-rails-3/ – tommasop 2012-04-17 08:59:33

回答

1

您的link_to不會觸發Ajax調用

<%= link_to c.user_id, {:action => :show, :user_id => c.user_id, :remote => true } %> 

首先改變上面的代碼

<%= link_to c.user_id, {:action => :show, :user_id => c.user_id }, { :remote => true, :method => :get } %> 
+0

感謝你們倆。我試過這些,仍然沒有工作。我修改了link_to來進行適當的ajax調用。並在div中添加一個帶有新div標籤的js.erb文件。 我只想做一個Ajax獲取請求並在同一頁面上呈現新數據。 。 ''

'#貓show.js.erb $('#阿賈克斯)HTML($( '<%=渲染:部分=> 「ajaxshow」 %>'))' – 2012-04-17 08:48:14

+0

檢查你的日誌。你顯示有以下行處理UsersController#顯示爲JS – 2012-04-17 08:58:07

+0

嘗試$('#some_div_id')。html(<%= render:partial =>「ajaxshow」%>) – 2012-04-17 09:00:48

1

您需要爲User控制器操作使用.js.erb文件,該文件將通過format.js調用進行調用。

show.js.erb使用

$('#some_div_id').html($('<%= render :partial => "ajaxshow" %>')) 

總之你行動的目的似乎不起眼的我。

+0

我錯過了這部分,謝謝。我補充說,但仍然沒有運氣。 – 2012-04-17 09:10:17