2011-04-25 47 views
1

我想知道如果我可以重新使用生成HTML的部分。可能從部分生成html,然後發送html作爲對ajax調用的響應?

我有一個ajax請求傳遞文本到我的控制器,然後它用一些HTML響應。

它返回的HTML是相同的HTML,然後我在同一個視圖頁面上使用部分生成。

我可以以某種方式在響應a​​jax請求的控制器操作中重新使用這個部分嗎?

+1

如果你說的話喲你的意思不是用「呼喚」代替恰當的動詞,你的問題會更有意義。 AJAX *請求*。 HTTP或控制器*響應*。 *渲染*部分。 – coreyward 2011-04-25 01:14:31

回答

4

您可以使用request.xhr?來檢查它是否是AJAX請求,並指定:layout => false只顯示沒有佈局的部分文件。

if request.xhr? 
    render :partial => 'partial_name', :layout => false 
end 
0

也許我理解的問題不同,但你可以做這樣的事情,以取代在那裏你呈現的視圖頁上的部分用一個更新版本,使用相同的模板股利:

表演。 html.haml

.post 
    = render :partial => 'post 

而且在show.js.haml(Ajax響應)

== $('.post').html('#{escape_javascript(render :partial => 'post')}');