Частичная перезагрузка (Rails Ajax) - PullRequest
5 голосов
/ 24 мая 2011

У меня есть форма, которая, когда я нажимаю кнопку отправить, должна обновлять частичку, которая находится на той же странице ... Когда я размещаю это здесь:

page.replace_html 'show_cards_div', 'Hello'

Это делает так, как должно, отображать приветкогда мне это нужно.Но когда я превращаю это в это ....

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

Это просто ничего не делает.Что я делаю не так?

1 Ответ

7 голосов
/ 25 мая 2011

Возможно, запрос не является вызовом 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}
...