Выполнение действий в Rails без изменения сайта - PullRequest
0 голосов
/ 25 октября 2010

Добрый день ...

Еще вопрос новичка.Я в основном просил сэкономить часы проб и ошибок ... У меня уже были такие и результата не было.

Что я хочу сделать ... У меня, конечно, есть контроллер, у которого есть действие.Я хочу отправить этому действию два идентификатора, в них должна быть какая-то запись в базе данных.Нет проблем, действие работает хорошо.

Но я не хочу просматривать его, я хочу, чтобы пользователь нажимал на ссылку и даже не покинул сайт.В идеале должен быть какой-то Ajax (использующий jQuery на сайте), который меняет ссылку на «Спасибо» или что-то в этом роде.

Так что да, мой главный вопрос: как я могу активировать действие другогоКонтроллер не покидая сайт, по ссылке.Длинное вступление, но я надеюсь, что вы можете дать мне несколько советов.

Ответы [ 3 ]

2 голосов
/ 25 октября 2010

Взгляните на link_to_remote для стороны просмотра, и тогда вы можете просто иметь функцию вашего контроллера render nothing => true.

1 голос
/ 25 октября 2010

Чтобы он был ненавязчивым и возвращал что-то из действия контроллера ... Я думаю, что вы, вероятно, хотите что-то вроде:

def my_action
  # your code...  e.g. @model = Model.find(params[:id])

  render :json => { :whatever => @model.whatever }
end

В вашем javascript делайте то, что вы хотите с возвращенной информациейдействие по умолчанию для вашей гиперссылки, возвращая false или используя jQuery для функции предотвращения по умолчанию для события click.

0 голосов
/ 25 октября 2010

Посмотрите на link_to_remote метод в рельсах.Это должно вызвать ajax-вызов функции контроллера, а не покинуть страницу.

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