【问题标题】:Can you create a button to update status inside email alert?您可以创建一个按钮来更新电子邮件警报中的状态吗?
【发布时间】:2014-04-06 03:59:29
【问题描述】:

我有一个允许人们向非营利组织捐款的 Rails 应用。报价的收件人会收到一封电子邮件,提醒他们该报价。报价也会记录在数据库中,默认状态为待处理,但在网站上,他们可以将状态更改为接受或拒绝。现在,收件人必须访问网站并登录才能更改报价状态。我想知道是否可以允许他们在收到的电子邮件提醒中更改报价状态?如果是的话怎么办?

【问题讨论】:

    标签: ruby-on-rails database email button alerts


    【解决方案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,然后将其发送到 获取
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 2017-08-09
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多