gpt4 book ai didi

ruby-on-rails - rails : Global instance variables in Rails

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:23 25 4
gpt4 key购买 nike

在我的应用程序中,用户可以通过表单提交食谱,该表单将发布在网站上。在食谱发布之前,它们会通过版主进行审核。

因此我的应用程序在导航栏中显示所有当前未发布的版主食谱的计数,如下所示:

enter image description here

为了实现这一目标,我目前执行以下操作:

application.rb

before_action :count_unpublished

def count_unpublished
@unpublished_count = Recipe.where(:published => false).count
end

_navbar.html.erb

<li>
<%= link_to recipes_path do %>
Recipes <span class="badge" style="background-color:#ff7373"><%= @unpublished_count %></span>
<% end %>
</li>

它有效,但我现在想知道这是否是一个很好的做法,因为现在我的应用程序访问食谱数据库的每个操作(这可能不是很优雅)。

是否有更好的解决方案来实现这一点?

最佳答案

cache_key = "#{current_user.id}_#{unpublished_count}"
@unpublished_count = Rails.cache.fetch(cache_key, expires_in: 12.hours) do
Recipe.where(:published => false).count
end

更多信息:http://guides.rubyonrails.org/caching_with_rails.html#low-level-caching

关于ruby-on-rails - rails : Global instance variables in Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47929294/

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