加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 02:53:59 所属栏目:百科 来源:网络整理
导读:让我们说在我的Rails应用程序之上有一个显示文本的栏 – 最新特价,计划停机时间通知,类似的东西.它是一种基于每种请求都需要访问的单一信息,并且可能会不时更新.实现这一目标的最佳方法是什么? 我想做的是某种永久的全局变量(可从控制器访问). 它很少会更新
让我们说在我的Rails应用程序之上有一个显示文本的栏 – 最新特价,计划停机时间通知,类似的东西.它是一种基于每种请求都需要访问的单一信息,并且可能会不时更新.实现这一目标的最佳方法是什么?

我想做的是某种永久的全局变量(可从控制器访问).

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

例如,在Node.js中这样的东西很容易,但我找不到在Rails中实现这一点的单一方法.我该怎么办?

编辑

感谢到目前为止的答案,但是虽然他们鼓舞人心,但我认为我应该强调一个他们都缺失的关键功能.该变量应该可以在app内部编辑并且持久化.虽然可以编辑你的变量,但是在服务器重启的情况下,我又回到了默认状态 – 这很糟糕.

解决方法

这真的取决于你在寻找什么.你可以通过将它放在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

然后可以从应用程序中的任何控制器访问该函数(和字符串).您还可以在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读