5

嗨,目前我正在将我的项目从 rails 3.2 升级到 rails 4。升级到 rails 4 后page.replace_html。方法不起作用。

例如:

在控制器中,如果遇到这样的代码,

渲染:更新做|页面|

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 做到这一点?

4

1 回答 1

3

使用prototype-rails helper gem

更好的是,重构代码以使用 jQuery。Rails 现在鼓励使用 UJS(Un Obtrusive JavaScript)。所以 jQuery 中的精确替换语法可能是不可取的。

你可以试试这样的

$("#divid").html("<div>all the html goes here</div>") 

这将用<div id="divid">....</div>传入的内容替换 a 的内容.html("....")

这是 jQuery文档.html()

关于这个主题有一个不错的RailsCasts Episode #205

于 2013-11-07T13:25:45.703 回答