ruby-on-rails - 如何在 Rails 4 中使用 page.replace_html

标签 ruby-on-rails ruby-on-rails-4 prototype rjs

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

例如:

在 Controller 中,如果遇到这样的代码,

render :update do |page|

page.replace_html "lease_container", :partial => "/lease/property_pipeline", :locals => {:note_collection => @note}

end



它会抛出这样的错误,

ActionView::MissingTemplate (Missing template lease/update, application/update with {: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 做到这一点?

最佳答案

使用 prototype-rails辅助 gem

更好的是,重构代码以使用 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关于这个话题

关于ruby-on-rails - 如何在 Rails 4 中使用 page.replace_html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19837002/

相关文章:

ruby-on-rails - Prawn 轨 : How to make a bounding_box rounded?

Javascript字符串是原型(prototype)函数吗?

ruby-on-rails - 机车编辑器在尝试循环模型的条目时抛出 'NoMethodError'

ruby-on-rails - 如何防止构建器模板转义属性值中的 URL?

ruby-on-rails - Ruby on Rails : Saving user id manually? 或者有更好的方法吗?

ruby-on-rails - 设计首次登录重定向后

javascript - "add method to prototype"是什么意思

javascript - 我将如何在纯 JavaScript 中暂时禁用该事件?

javascript - 如何使用 Ruby On Rails 5 播放声音

javascript - 在哪里可以找到将 Breeze JS 与 Rails 结合使用的适配器?