5

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?

1 Answer 1

7

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}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.