简体   繁体   English

在Ruby on Rails的JavaScript事件中重新渲染部分视图

[英]Rerendering partial view at a JavaScript event in Ruby on Rails

I would like to rerender some partial views in Ruby on Rails at a specific JavaScript event. 我想在特定的JavaScript事件中重新渲染Ruby on Rails中的部分视图。 Do you guys know how I could do that? 你们知道我该怎么做吗?

More specifically, i have some custom in-place-editor fields (from my own helper based on scriptaculous), and I would like to update some partials whenever new values are submitted on the fields. 更具体地说,我有一些自定义的就地编辑器字段(来自我自己的基于脚本的助手),并且我想在字段上提交新值时更新一些局部文件。 I do have a hookup to a JavaScript callback which will be called when the submit a value in the in-place-editor... but I do not know how to force the partials to reload. 我确实有一个JavaScript回调的连接,当在就地编辑器中提交值时,该回调将被调用...但是我不知道如何强制重新加载部分代码。

If you already have a callback you can use the great (but sometimes forgotten) remote_function thing: 如果您已经有了回调,则可以使用很棒的(但有时被遗忘的) remote_function东西:

callback = function() {
  <%= remote_function :update => "div_with_your_partial_id", :url => { :action => "an_action_rendering_your_partial" } %>
}

This will generate the same javascript that is generated whenever your use javascript helpers like link_to_remote . 这将生成与您每次使用诸如link_to_remote类的javascript帮助器时生成的相同javascript。

Not sure how this would look like in Rails 3, though. 不过,不确定在Rails 3中的外观如何。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM