Применить link_to_remote из обработчика jQuery в Rails

У меня есть игра с 5 ящиками, и когда я щелкаю по ящику, я хочу отправить ajax-запрос контроллеру, который по сути точно такой же, как link_to_remote. Мне нужно отправить хэш информации в определение в контроллере, но мне ничего не нужно отправлять обратно или даже обновлять.

Следующий беспорядок в jQuery/js делает функцию, которая либо корректна, либо неверна. Из этих функций я хочу иметь возможность отправить запрос ajax на некоторый контроллер с хешем информации.

$('#tones a').click(function(e) {
        if (playGame) { 
        id = this.id.replace('t', '')
            if (correctCharacter[1] == id) {
                correct();
            } else {
                incorrect();
            }
        addCharacters();
        }
    });
})

Я знаю, что link_to_remote имеет следующий синтаксис, и эта ссылка на самом деле не связана вообще:

# Generates: <a href="#" onclick="new Ajax.Updater('posts', '/blog/destroy/3', {asynchronous:true, evalScripts:true});
link_to_remote "Delete this post", :update => "posts", :url => { :action => "destroy", :id => post.id }

Если бы вы могли показать мне, как заставить эту ссылку работать в последней функции. Мне просто нужна одна ссылка ajax или запросить что-нибудь правильное, которое идет к контроллеру и отправляет хэш информации.

Я хочу поместить это в следующий блок. Если это правильно, то это сработает, а если это не так, то сработает.

if (correctCharacter[1] == id) {
                correct();
            } else {
                incorrect();
            }

Вот js-источник из link_to_remote, который я разместил на странице только для того, чтобы посмотреть на безопасность. Это на самом деле не связано с тем, где я хочу разместить информацию, но связано с моим конкретным приложением.

<a href="#" onclick="new Ajax.Updater('posts', '/groups/new', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + encodeURIComponent('jQx+jlICHcZ3X6SPOcNUNBPJF8qLGDarO/nasHfWkvQ=')}); return false;">Test</a>

1 ответ

Решение

Это то, что я придумал. Он работает, за исключением того, что не публикует правильный URL.

$.ajax({
   type: "POST",
   url: "analytics/test",
   data: 'correct=' + correct_or_incorrect + '&id=' + correctCharacter[3] + "'"
  });
Другие вопросы по тегам