重新加载部分(Rails Ajax)

Kee*_*son 5 ajax ruby-on-rails partial

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

page.replace_html 'show_cards_div', 'Hello'
Run Code Online (Sandbox Code Playgroud)

它确实如此,当我需要它时显示你好.但是当我把它变成这个......

page.replace_html 'show_cards_div', :partial => "reloadThisPartial"`
Run Code Online (Sandbox Code Playgroud)

它根本不做任何事情.我究竟做错了什么?

Muh*_*lid 7

该请求可能不是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>
Run Code Online (Sandbox Code Playgroud)

在控制器做这样的事情.

render :partial => "reloadThisPartial", :layout => false, :locals =>{:users =>@users}
Run Code Online (Sandbox Code Playgroud)