2017-06-14 67 views
1

我已经在我的控制器的创建操作下面的代码:的Rails:邮寄地址在控制器不工作

if @record.save && @type == "email" 
    redirect_to 'mailto:[email protected]?body=some text&subject=some subject' 

elsif @record.save && @type == "sms" 
    redirect_to 'sms:?&body=some text ' 

else 
    redirect_to root_path 
end 

它的工作原理。但是,我希望电子邮件地址为空,而不是“[email protected]”。

我试图以通常的方式:

redirect_to 'mailto:?body=...' 

我试图诱骗:

redirect_to 'mailto:%20?body=...' 

这些工作为电子邮件应用程序中没有一个不开放 - 没有任何反应都没有。只有在mailto后面有@时,才会打开它,然后预填充地址字段 - 但我希望它是空白的。

有没有办法做到这一点?我正在尝试几个小时...

+0

你试过我的回答吗? – puneet18

+0

是的,我尝试过。但它不起作用。电子邮件应用只有在有地址(至少是@)时才会打开。 – Oliver

+0

也许这取决于特定的电子邮件应用程序?我从小提琴尝试了'Link',它与Outlook完美协作。 – AsheraH

回答

0

我尝试了下面的代码,它适用于我。

redirect_to 'mailto:?body=some&subject=some' 

此外,您的代码中有一些错误。你保存了两次@record。 正确的方法:

if @type == "email" && @record.save 
    redirect_to 'mailto:[email protected]?body=some_text&subject=some_subject' 
elsif @type == "sms" && @record.save 
    redirect_to 'sms:?&body=some text ' 
else 
    redirect_to root_path 
end 
+0

redirect_to'mailto:?body = some&subject = some '不打开电子邮件应用程序。它仅在地址中打开@ @ – Oliver

+0

@Oliver我尝试了相同的代码,它适用于我 – puneet18