Ссылка на Ruby on Rails с почтовым запросом - PullRequest
0 голосов
/ 01 февраля 2012

Мне нужен способ создать ссылку в Rails 3, которая будет отправлять почтовый запрос с несколькими параметрами и не вызывать перезагрузку. Я использовал форму:

= form_for Vote.new, :remote => true do |f|
  .actions
    = f.submit 'Vote'
  = hidden_field_tag('question', q.id)
  = hidden_field_tag('seat', @seat.id)

но это немного замедлило мое рендеринг, и я не хочу кнопку отправки. Есть ли другой способ отправить форму без использования кнопки?

Я пытался = link_to и тому подобное, но, похоже, параметры не работали правильно.

Ответы [ 2 ]

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

Я бы использовал ссылку с такими параметрами:

= link_to "Post", new_vote_path(vote: {question_id: question.id, seat_id: seat.id}, remote: true, method: :post, rel: "nofollow"

Я использовал это без пульта: правда, но я не вижу причин, почему он не должен работать с рельсами jquery. Если это не сработает, я предполагаю, что объект jquery $ .ajax не устанавливает тип из метода. Вы можете переопределить это или создать собственную привязку к событию click.

Просто для справки - link_to api: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

1 голос
/ 01 февраля 2012

Вы можете либо использовать javascript, чтобы ссылка делала публикацию в форме при нажатии (грязно, но похоже на то, как скаффолдинг удаляет), либо использовать css для стилизации кнопки, чтобы она выглядела как ссылка.

...