在Rails中显示最近的项目

时间:2014-12-11 00:44:37

标签: ruby-on-rails ruby-on-rails-4 global-variables

我正在尝试制作最近的项目功能,向用户显示最近查看(由他查看)记录的列表。我的想法就是让它发挥作用:

  1. 创建一个全局数组变量,用于存储最后5个被查看对象

    @@ recent_items = Array.new(5)

  2. 每次执行Controller Method Model#show时,记录都将插入数组@@ recent_items中。替换第一个插入的记录(FIFO)。

  3. 然后在我的application.html.erb视图中显示@@ recent_items数组

  4. 这有意义吗?什么是更好的方法呢?


    结果: 我做了一个硬编码记录的测试,看看它是如何工作的。

    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
    

0 个答案:

没有答案