您可以创建一个按钮来更新电子邮件警报中的状态吗?
Posted
技术标签:
【中文标题】您可以创建一个按钮来更新电子邮件警报中的状态吗?【英文标题】:Can you create a button to update status inside email alert? 【发布时间】:2014-04-06 03:59:29 【问题描述】:我有一个允许人们向非营利组织捐款的 Rails 应用。报价的收件人会收到一封电子邮件,提醒他们该报价。报价也会记录在数据库中,默认状态为待处理,但在网站上,他们可以将状态更改为接受或拒绝。现在,收件人必须访问网站并登录才能更改报价状态。我想知道是否可以允许他们在收到的电子邮件提醒中更改报价状态?如果是的话怎么办?
【问题讨论】:
【参考方案1】:用函数创建一个新的控制器让我们说status
def status
...
end
然后用 GET
捕捉它website.com/newcontrollers/status/?id=x&uid=xxx&token=
另一种方法是在 Offers Controller 中添加一个新功能并将其排除在身份验证中。
【讨论】:
如果 mailer-spider 会检查该链接会发生什么?这不安全,对吧? 我没听说过mailer-spiders,而且所有的创业确认邮件都使用这种功能。 感谢@robzdc,你让我走上了正确的道路。这是问题的意图。现在我正在弄清楚如何通过控制器传递真实性令牌。作为开发中的一种解决方法,我使用了 skip_before_filter :verify_authenticity_token, :only => [:create, :update] 但我觉得这对安全性不利。或者实际上这可能就是您推荐 GET 请求的原因,所以我根本不必处理它。 您可以在 Offer Model 中添加一个 token 列,然后使用 SecureRandom.urlsafe_base64 创建一个唯一的 Token,然后将其发送到 获取以上是关于您可以创建一个按钮来更新电子邮件警报中的状态吗?的主要内容,如果未能解决你的问题,请参考以下文章