применить link_to_remote из обработчика jQuery в Rails - PullRequest
0 голосов
/ 20 декабря 2010

У меня есть игра с 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 Ответ

1 голос
/ 20 декабря 2010

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

$.ajax({
   type: "POST",
   url: "analytics/test",
   data: 'correct=' + correct_or_incorrect + '&id=' + correctCharacter[3] + "'"
  });
...