【问题标题】:Reload Partial (Rails Ajax)重新加载部分(Rails Ajax)
【发布时间】:2011-05-24 17:12:17
【问题描述】:

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

page.replace_html 'show_cards_div', 'Hello'

它应该做的就是,当我需要它时显示你好。但是当我做到这一点时......

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

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

【问题讨论】:

    标签: ruby-on-rails ajax partial


    【解决方案1】:

    请求可能不是 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}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      相关资源
      最近更新 更多