2011-05-15 48 views
1

我有一個非常奇怪的問題(這通常意味着我做錯了什麼)與軌道3.0.5和原型。我使用的link_to更新一個div:無法使用Rails和原型渲染多個線條

*views/results/index.html.erb 
<%= link_to "#{school[:name]}", {:controller => "results", :action => "update", :school => school}, :remote => true%> 

這就要求控制器功能更新:

*controllers/results_controller.rb 
def update 
    @selection = params[:school] 
    respond_to do |format| 
    format.html {redirect_to :action => 'index'} 
    format.js 
    end 
end 

這使得update.js.erb( '選擇' 是index.html的一個div。 erb):

*views/results/update.js.erb 
$("selected").update("<%= render :partial => '/results/academics', :locals => { :selection => @selection } %>") 

這裏是它變得奇怪的地方。如果我的部分academics.html.erb只包含一行純文本,它就可以正常工作。例如:

*views/results/academics.html.erb 
<%= selection[:chances] %> 

工作正常。但如果我有不止一行,它不會。例如:

*views/results/academics.html.erb 
<%= selection[:chances] %> 
<br> 

不渲染任何東西。服務器仍以200 OK響應,但div不變。 我在做什麼錯?

回答

0

escape_javascript是你所需要的

$("selected").update("<%= escape_javascript(render :partial => '/results/academics', :locals => { :selection => @selection }) %>") 
+0

哇,這麼簡單。謝謝。 – jakefuentes 2011-05-15 20:38:09