Как мне использовать помощников по форме в почтовике в рельсах 3?

Я пытаюсь создать письмо для пользователей, которое включает в себя простую форму HTML. Для этого я использую ActionMailer из Rails 3, как это предлагается в учебном пособии по адресу http://edgeguides.rubyonrails.org/action_mailer_basics.html

Я не могу использовать помощники ActionView, такие как form_tag в файле erb почтовой программы. Как мне получить к ним доступ в файле erb.

Мой файл user.html.erb имеет такой код:

<%= form_tag(:controller => "application", :action => "parent_select", :method=>"put") do %>
  Want To Attend
  <%= check_box_tag(:yes, '1', request.priority != 0) %>

<% end %>

Я получаю эту ошибку:

undefined method `protect_against_forgery?' for #<#<Class:0xa0874c4>:0xa085a70>

1 ответ

Не стоит помещать вашу форму в электронное письмо, смотрите:

http://www.campaignmonitor.com/blog/post/2435/how-forms-perform-in-html-emai/

Но здесь вы видите, что форма отправляется без csrf_meta_tag (токен формы и авторизация). Вы можете либо отключить защиту от подделки для этого действия, либо добавить эти поля вручную в форму.

Другие вопросы по тегам