рельсы 3 + JQuery сообщение не удается? - PullRequest
0 голосов
/ 02 января 2012

Хорошо, у меня есть приложение rails 3, и когда я пытаюсь выполнить запрос $ .post к действию rails, мне предлагается переместиться ... это может быть связано с authenticity_token или тем, как rails 3 обрабатывает сообщения или удаленно = > правда ... но, честно говоря, я действительно не знаю, почему это не работает ... вот мой код

$('#pling').click(function(e){
    e.preventDefault();
    var location = $(this).closest("form").attr("action");
    $.post(location, { note: $("#note").val() }, function(data) {
        var length = data.length;
        var div_string = "";
        for (i=0;i<length;i++)
        {
            div_string += "<p style=\"font-size: 11px; padding: 0 5px;\">"+ data[i].comment.comment +"</p>";
        }
        $("#pling").html(div_string);
    });
    $("#pay").val("");
    $("#pling").animate( { backgroundColor: "#D3ECF4" }, 1 ).animate( { backgroundColor: "#ffffff" }, 3000 );
});

и вот мое рельсовое действие

def update_note
  @user = Contact.find(params[:id])
  note = params[:note].to_s.strip
  note = "#{Time.now} - #{note.to_s} - #{current_user.name} (#{current_user.id})"
  @user.notes.create!(:note => note, :user_id => current_user.id)
  respond_to do |format|
    format.json { render :json => @user.notes}
  end
end

любая идея, что я делаю неправильно

вот моя форма, если я просматриваю источник

<form method="post" action="/users/100/update_note?remote=true" accept-charset="UTF-8">
<div style="margin:0;padding:0;display:inline">
<input type="hidden" value="✓" name="utf8">
<input type="hidden" value="yPtCzfaI5HOSWeW8HBGLthbpUmgsfgsdfgsdW4aunGDtacva6Kx0=" name="authenticity_token"></div>

1 Ответ

0 голосов
/ 02 января 2012

вместо того, чтобы делать пост напрямую через jquery, вы должны вместо этого использовать помощники ujs в rails:

form_for @user, :remote => true

, а затем подключитесь к описанным здесь методам жизненного цикла формы http://www.alfajango.com/blog/rails-3-remote-links-and-forms/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...