gpt4 book ai didi

javascript - 无法使用 Rails 和 Prototype 渲染多条线

转载 作者:行者123 更新时间:2023-11-28 10:18:51 25 4
gpt4 key购买 nike

我在使用 Rails 3.0.5 和原型(prototype)时遇到了一个非常奇怪的问题(这通常意味着我做错了什么)。我正在使用 link_to 更新 div:

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

这会调用 Controller 函数更新:

*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(“selected”是 index.html.erb 中的 div):

*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 没有改变。我做错了什么?

最佳答案

escape_javascript就是你所需要的

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

关于javascript - 无法使用 Rails 和 Prototype 渲染多条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6010285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com