У меня есть электронная почта. Но я создаю тестовую форму электронной почты, в которой пользователь может добавить уникальное электронное письмо, и при этом проверка электронной почты отправит его на конкретный адрес электронной почты.Как пройти AJAX vars от jQuery до своего контроллера?
Чтобы сделать это легко, я решил сделать тестовое письмо с помощью ajax и вставить все это в другую форму электронной почты.
Я не могу понять, как отправить переменные из моей Haml в мой контроллер
new.html.haml
- form_tag admin_email_blast_path do
Subject
%br
= text_field_tag 'subject', :class => "mass_email_subject"
%br
Body
%br
= text_area_tag 'message', '', :name => 'editor1', :class => "mass_email_body"
%br/
= submit_tag 'Send Email', :class => 'button'
.grid_3.right.align_right.suffix_1 # <= TEST EMAIL :D
= text_field_tag 'email', nil, :style => "width: 150px;", :class => "test_email_address"
= link_to 'Test Email', test_email_admin_email_blast_path, :class => 'button test_email'
JS
$(".test_email").live("click", function() {
var email = $(".test_email_address")
var subject = $(".mass_email_subject");
var body = $(".mass_email_body");
data = "email=" + email.val() + "&subject" + subject.val() + "&body" + body.val();
$.ajax({type: "GET",
url: $(this).attr("href"),
dataType: "script"
data: data
});
return false;
});
Контроллер
def test_email
debugger
email = params[:email]
subject = params[:subject]
body = params[:body]
Notifier.deliver_email_blast(email, subject, body)
end
routes.rb
admin.resource :email_blast, :member => {
:test_email => :get
}
Я извиняюсь заранее, если это глупый вопрос новичка. :(
Выполняет ли test_email_admin_email_blast_path запросы GET? (Попробуйте «рейк-маршруты» grep test_email_admin_email_blast », чтобы увидеть, как Rails интерпретирует ваши маршруты.rb) – tobym
Да. test_email_admin_email_blast GET /admin/email_blast/test_email(.:format) {: controller => "admin/email_blasts",: action => "test_email"} – Trip