Ruby on rails Rails:控制器中的mailto不工作
我的控制器的创建操作中有以下代码:Ruby on rails Rails:控制器中的mailto不工作,ruby-on-rails,mailto,Ruby On Rails,Mailto,我的控制器的创建操作中有以下代码: if @record.save && @type == "email" redirect_to 'mailto:info@example.com?body=some text&subject=some subject' elsif @record.save && @type == "sms" redirect_to 'sms:?&body=some text ' else redirect_to
if @record.save && @type == "email"
redirect_to 'mailto:info@example.com?body=some text&subject=some subject'
elsif @record.save && @type == "sms"
redirect_to 'sms:?&body=some text '
else
redirect_to root_path
end
它起作用了。但是,我希望电子邮件地址为空,而不是“info@example.com“
我尝试了通常的方法:
redirect_to 'mailto:?body=...'
我试图欺骗它:
redirect_to 'mailto:%20?body=...'
由于电子邮件应用程序无法打开,所有这些都不起作用-根本不会发生任何事情。它只在有@after mailto时打开,然后预填充地址字段,但我希望它为空
有办法吗?我现在已经试了几个小时了……我试了下面的代码,它对我很有效
redirect_to 'mailto:?body=some&subject=some'
您的代码中也有一些错误。您保存了两次@record
。
正确的方法:
if @type == "email" && @record.save
redirect_to 'mailto:info@example.com?body=some_text&subject=some_subject'
elsif @type == "sms" && @record.save
redirect_to 'sms:?&body=some text '
else
redirect_to root_path
end
你试过我的答案吗?是的,我试过了。但它不起作用。只有当有地址(至少有@)时,电子邮件应用才会打开。这可能取决于特定的电子邮件应用?我从小提琴上尝试了一个“”,它与Outlook完美配合。当我在视图中使用标记时,它也适用于我。我只有当代码在控制器中时才有问题。如果我把它放在没有电子邮件地址的地方,它不会打开任何东西——不会在我的Mac上,不会在我的Windows机器上,不会在我的iPhone上,也不会在我的Android上……重定向到“mailto:?body=some&subject=some”不会打开电子邮件应用程序。它只在地址中以@开头…我认为您的方式比OP有所改进,但我更愿意为
@type
和保存记录分别设置条件。更明确。