目前我正在将我的项目从rails 3.2升级到rails 4.升级到rails 4. page.replace_html
方法不起作用。
例如:
在控制器中,如果它遇到这样的代码,
渲染:更新do | page |
page.replace_html“lease_container”,:partial => “/ lease / property_pipeline”,:locals => {:note_collection => @note}
端
它会抛出这样的错误,
ActionView :: MissingTemplate(缺少模板租约/更新, 应用/更新{:locale => [:en],:formats => [:js,:html,:xml, :html,:text,:js,:css,:ics,:csv,:png,:jpeg,:gif,:bmp,:tiff, :mpeg,:xml,:rss,:atom,:yaml,:multipart_form,:url_encoded_form, :json,:pdf,:zip] ,: handlers => [:erb,:builder,:raw,:ruby,:rjs]}
我怎么能解决这个问题?有什么替代方法可以用jquery做到这一点吗?
答案 0 :(得分:3)
使用prototype-rails助手宝石
更好的是,重构代码以使用jQuery。 Rails现在鼓励使用UJS(Un Obtrusive JavaScript)。因此,jQuery中的确切替换语法可能并不可取。
您可以尝试这样的事情
$("#divid").html("<div>all the html goes here</div>")
这会将<div id="divid">....</div>
的内容替换为传递给.html("....")
这是jQuery documentation for .html()
这个主题有一个很好的RailsCasts Episode #205