我有一个表单,当我点击提交时,应该更新同一页上的一个部分... 当我把它放在这里:
page.replace_html 'show_cards_div', 'Hello'
它做到了它应该做的,当我需要时显示“hello”。但当我把它做成这样时...
page.replace_html 'show_cards_div', :partial => "reloadThisPartial"`
它根本不起作用。我做错了什么吗?
我有一个表单,当我点击提交时,应该更新同一页上的一个部分... 当我把它放在这里:
page.replace_html 'show_cards_div', 'Hello'
page.replace_html 'show_cards_div', :partial => "reloadThisPartial"`
这个请求可能不是一个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}