重新加载部分(Rails Ajax)

发布于 2024-11-09 07:56:48 字数 296 浏览 0 评论 0原文

我有一个表单,当我单击提交时,应该更新同一页面上的部分内容...... 当我把它放在这里时:

page.replace_html 'show_cards_div', 'Hello'

它的作用就像它应该的那样,在我需要时显示你好。但当我把它变成这样时......

page.replace_html 'show_cards_div', :partial => "reloadThisPartial"`

它根本没有做任何事情。我做错了什么?

I have a form that when I click submit, should update a partial that is on the same page...
When I place this here:

page.replace_html 'show_cards_div', 'Hello'

It does just as it should, display hello when I need it to. But when I make it into this....

page.replace_html 'show_cards_div', :partial => "reloadThisPartial"`

It simply does not do anything. What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

奢欲 2024-11-16 07:56:48

该请求可能不是 Ajax 调用。进行 Ajax 调用。使用remote_form_for而不是form_for或使用jquery.form向控制器发送ajax调用。如果您使用的是jquery,那么请执行以下操作:

<%= javascript_include_tag "jquery-1.4.4.min.js", "jquery.form" %>
<%= form_for :user, :url => {:controller =>  "come_controller",:action => "some_action"}, :html => {:id => 'form_id', :class => 'cmxform', :onsubmit => "return false;"} do |f| %>
......................................
<% end %>

<script type="text/javascript">
$('#form_id').submit(function() {
var container = $("#show_cards_div");
            $(this).unbind('submit').ajaxSubmit({
              success: function(data) {
                     container.html(data);
              }
            })
            return false
          });
</script>

在控制器中执行类似的操作。

render :partial => "reloadThisPartial", :layout => false, :locals =>{:users =>@users}

The request might not be an Ajax call. Make Ajax call. User remote_form_for instead of form_for or use jquery.form for sending ajax calls to controller. If you are using jquery then do something like:

<%= javascript_include_tag "jquery-1.4.4.min.js", "jquery.form" %>
<%= form_for :user, :url => {:controller =>  "come_controller",:action => "some_action"}, :html => {:id => 'form_id', :class => 'cmxform', :onsubmit => "return false;"} do |f| %>
......................................
<% end %>

<script type="text/javascript">
$('#form_id').submit(function() {
var container = $("#show_cards_div");
            $(this).unbind('submit').ajaxSubmit({
              success: function(data) {
                     container.html(data);
              }
            })
            return false
          });
</script>

in controller do something like this.

render :partial => "reloadThisPartial", :layout => false, :locals =>{:users =>@users}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文