【问题标题】:Updating database record through link in email for Rails 3通过 Rails 3 的电子邮件中的链接更新数据库记录
【发布时间】:2011-04-06 15:03:39
【问题描述】:

我的应用程序会发送提醒电子邮件,并且我希望在每封电子邮件中包含一个链接,供用户单击以更新数据库中的记录。

我不认为我希望通过控制器将其绑定,因为这会将这个“请求”从电子邮件链接推送到浏览器中的某种视图。

有没有办法在没有控制器处理“请求”的情况下完成此操作?

非常感谢任何帮助。

【问题讨论】:

    标签: database ruby-on-rails-3 email


    【解决方案1】:

    如果我理解正确,您希望用户点击一个链接,该链接指向一个视图并更新数据库中的一个或多个属性。

    Rails 是围绕模型-视图-控制器原则构建的。从 Rails 路由器获取一个请求并交给相应的控制器和操作。控制器完成这项工作,调用模型(查询数据库),然后移交给视图。视图用于显示数据,而不是用于处理数据,并且从不更新模型中的任何内容!

    在您的情况下:您的链接应该指向一个控制器/操作,您可以在其中更新您的记录,然后显示一个视图。

    【讨论】:

    • 感谢您的回复。你提到的是我对MVC的理解。我希望完成的是不必显示视图。电子邮件中的链接将包含一个标记,用于区分要更新的表记录。无需向用户显示任何内容 - 他们当时可能甚至不会登录到 web 应用程序。
    • 你可以不渲染或者只返回头部,见这里:guides.rubyonrails.org/layouts_and_rendering.html
    • 是的 - 我最好在更新后向用户显示某种消息,而不是空白页面。感谢您的意见。
    • 当然。这一切都在您的指尖。不渲染,返回头部或渲染美丽的景色 :) [如果这是您正在寻找的答案,请接受答案...]
    • 好吧,这不是我希望的答案;) - 我宁愿能够使用电子邮件中的链接更新数据库,而不必生成视图(无论是是空白页,返回头,还是美丽的景色)。但是,鉴于缺乏任何其他可以帮助我做到这一点的答案,我假设它无法完成,因此,你应该得到答案的“接受”。
    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 2011-04-10
    • 2015-05-06
    • 2011-03-15
    • 2016-04-08
    相关资源
    最近更新 更多