【发布时间】:2011-08-26 00:01:01
【问题描述】:
我在使用 rails 3.0.5 和原型时遇到了一个非常奇怪的问题(这通常意味着我做错了什么)。我正在使用 link_to 来更新 div:
*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('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 没有改变。 我做错了什么?
【问题讨论】:
标签: javascript ruby-on-rails ruby-on-rails-3 prototypejs