我正在尝试制作最近的项目功能,向用户显示最近查看(由他查看)记录的列表。我的想法就是让它发挥作用:
创建一个全局数组变量,用于存储最后5个被查看对象
@@ recent_items = Array.new(5)
每次执行Controller Method Model#show时,记录都将插入数组@@ recent_items中。替换第一个插入的记录(FIFO)。
然后在我的application.html.erb视图中显示@@ recent_items数组
这有意义吗?什么是更好的方法呢?
结果: 我做了一个硬编码记录的测试,看看它是如何工作的。
application_controller.erb
class ApplicationController < ActionController::Base
@@recent_items = Array.new(5)
@@recent_items[0] = Account.find(1)
end
application.html.erb
<%= @@recent_items[0].name %>
我收到了一个错误:
NameError in Accounts#show
Showing /Users/xyz/rails_projects/crm/app/views/layouts/application.html.erb where line #52 raised:
uninitialized class variable @@recent_items in ActionView::CompiledTemplates