jQuery Ajax Call to Ruby Controller - PullRequest
0 голосов
/ 06 мая 2011

У меня есть простой проект ruby ​​on rails, с которым я пытаюсь использовать простой пост jquery, и, ну, я застрял. Я думаю, что я ожидал, что это будет работать как ASP.NET MVC, и это не так.

Вот что у меня в контроллере

def followers(username)
  return username
end

И в моем файле .erb у меня есть вызов метода

 $.post("home/followers", { username: $("#txtUsername").val() },
   function(data) {
      alert(data);
   });

И я получаю сообщение об ошибке, сообщающее мне: неправильное количество аргументов (0 для 1)

Итак, я попытался добавить параметр в строку запроса, как ...

 $.post("home/followers?username=burkeholland",
      function(data) {
          alert(data);
       });

Это должно быть легко для кого-то. И поверите ли вы, что я не смог найти ничего об этом через Google? В Интернете есть несколько примеров Ruby on Rails. Или, может быть, я просто избалован ASP.NET.

Ответы [ 2 ]

2 голосов
/ 06 мая 2011

Методы в контроллерах не могут быть, кроме параметров. Параметры доступны через метод, называемый «params». После обработки запроса вы должны использовать метод render, чтобы отправить ответ обратно в браузер. Такие как:

def followers
  render :text => params[:username]
end
2 голосов
/ 06 мая 2011
def followers
 render :text => params[:username]
end

Все параметры post / get автоматически передаются вам в хэш params.Вы не должны объявлять какие-либо аргументы для метода.

РЕДАКТИРОВАТЬ: Забыл вывести ответ вместо возврата ...

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