Ajax, переменные Javascript и серверные переменные - Rails - PullRequest
0 голосов
/ 13 февраля 2012

Я пытаюсь обработать созданную пользователем переменную на сервере, а затем отправить обратно в представление и добавить в div.

мое представление с использованием erb:

<div id = "times_div"></div>

<script>
function findTimes(current_time){
  matched_time = current_time;
  $.ajax({
    type: "POST",
    url: "match_times",
    cache: false,
    data: matched_time,
    success: function(<%= @new_times %>){
    $("#times_div").append(<%= @new_times %>);
 }
});
};
</script>

мой контроллер:

def match_times
  reduce = Schedule.where(:date => matched_time)
  hour_on_time = reduce.collect {|x| x.hour}
  @new_times = hour_on_time
end

и мой маршрут:

  match '/match_times',  :to => 'appointments#match_times'

, но я получаю неопределенную локальную переменную или метод matched_time.Почему контроллер не читает свойство data, отправленное через Ajax?

Спасибо

1 Ответ

2 голосов
/ 13 февраля 2012

Если вы используете jQuery ajax , вы должны передать что-то вроде

$ajax({..,
  data: "matched_time="+matched_time,
  ..});

, тогда вы можете оценить параметр в контроллере, используя params[:matched_time].Вы также можете использовать объекты Javascript вместо строк

$ajax({..,
  data: {matched_time : matched_time},
  ..});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...