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
和保存记录分别设置条件。更明确。