ajax传入控制器,如何将AJAX变量从jQuery传递给控制器​​?

博客内容涉及创建一个电子邮件测试表单,用户可以输入唯一邮件地址并发送测试邮件。利用Ajax实现动态发送,将表单内容传递到控制器。在控制器中接收参数,通过Notifier发送邮件,并定义了相应的路由。问题在于如何正确地从HAML视图发送数据到控制器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个电子邮件表格.但我正在制作测试电子邮件表单,用户可以在其中添加唯一的电子邮件,并将电子邮件测试发送到该特定电子邮件.

为了方便起见,我决定通过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

}

如果这是一个愚蠢的新手问题,我会提前道歉.

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值