gpt4 book ai didi

ruby-on-rails - Rails 中的永久变量

转载 作者:行者123 更新时间:2023-12-04 01:57:40 24 4
gpt4 key购买 nike

假设在我的 Rails 应用程序顶部有一个显示文本的栏 - 最新的热卖、预定的停机通知,诸如此类。它是一个单一的同类信息,基本上每个请求都需要访问,并且可能会不时更新。实现这一目标的最佳方法是什么?

我想做的是某种永久全局变量(可从 Controller 访问)。

  • 它将很少更新,因此如果更新后的一段时间内工作人员之间存在不一致,则没有问题。
  • 另一方面,它应该在服务器故障的情况下具有持久性(定期备份就足够了)。
  • 它会经常被访问,所以它应该尽可能快 - 最好留在内存中。
  • 此外,它只是一种,所以我真的不想用专用的数据库模型来膨胀应用程序。

  • 例如,在 Node.js 中这样的事情非常简单,但我找不到在 Rails 中实现这一目标的单一方法。我该怎么办?

    编辑

    感谢到目前为止的答案,虽然它们很鼓舞人心,但我认为我应该强调他们都缺少的一个关键功能。 该变量应该在应用程序内可编辑并且是持久的。 虽然可以编辑您的变量,但在服务器重新启动的情况下,我会回到默认设置 - 这很糟糕。

    最佳答案

    这真的取决于你在寻找什么。你可以通过把它放在你的 application_controller.rb 中来做一些非常简单的事情。

    class ApplicationController < ActionController::Base
    def system_message
    "Come buy our amazing .99 iphone chocolate bar apps, with 100% more gamification!"
    end
    end

    然后可以从应用程序中的任何 Controller 访问该函数(和字符串)。您还可以在 application.rb 的 after_initialize 块中指定一些内容。文件。
    config.after_initialize do
    ::MYTEXT = "MY SUPER AMAZING TEXT"
    end

    您也可以在 initializers 下创建自己的文件。目录,该目录已预加载到 rails 中。

    所以 siteAnnounce.rb
    MYANNOUNCEMENT = "NOW LISTEN TO ME!"

    您可能还想查看此 Railscast video about site wide announcements

    关于ruby-on-rails - Rails 中的永久变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490985/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com