0

我不明白为什么在开发模式下,即使插入新记录,查询也会被缓存。我的意思是,在创建新记录后,我的 Model.all 不会从数据库中提取该记录。我与 IRB 核对并保留了记录。一旦我重新启动服务器,就会出现新记录。

这是详细信息...

  • 所有环境配置都是由“rails new app”生成的标准配置

第一次启动服务器后,当我点击 pagecontroller#index 时,日志是

Processing by PagesController#index as HTML
  Page Load (14.9ms)  SELECT "pages".* FROM "pages" 
  Rendered pages/index.html.erb within layouts/application (4.1ms)
Completed 200 OK in 237ms (Views: 167.5ms | ActiveRecord: 16.9ms)

创建页面后,用户被重定向到索引操作并且日志是

Started GET "/pages" for 127.0.0.1 at 2012-06-13 09:40:27 -0400
 Processing by PagesController#index as HTML
 Rendered pages/index.html.erb within layouts/application (1.6ms)
Completed 200 OK in 5ms (Views: 5.2ms | ActiveRecord: 0.0ms)

我的行动

def index
  @pages = Page.all
end

def create
  @page = Page.new(params[:page])
  if @page.save
    flash[:notice] = "Page saved Successfully"
    redirect_to :action => "index"
  else
    flash[:alert] = "Errors on saving the page"
    render :action => "new"
  end
end

我对 Rails 很陌生,在我对这个问题的研究中找不到任何东西。有人能帮我吗。

宝石

  • actionmailer (3.2.4)
  • 动作包(3.2.4)
  • 活动模型(3.2.4)
  • 活动记录(3.2.4)
  • 活动资​​源(3.2.4)
  • 积极支持 (3.2.4)
  • 雷尔 (3.0.2)
  • bcrypt-ruby (3.0.0)
  • 建设者(3.0.0)
  • 捆绑器 (1.1.4)
  • ci_reporter (1.7.0)
  • 咖啡轨 (3.2.1)
  • 咖啡脚本(2.2.0)
  • 咖啡脚本源 (1.3.3)
  • 厄鲁比斯 (2.7.0)
  • 执行js (1.4.0)
  • 远足 (1.2.1)
  • i18n (0.6.0)
  • 旅程 (1.0.3)
  • json (1.7.3)
  • libv8 (3.3.10.4 x86_64-darwin-11)
  • 邮件 (2.4.4)
  • 元类 (0.0.1)
  • 哑剧类型 (1.18)
  • 摩卡(0.11.4)
  • multi_json (1.3.6)
  • mynyml-redgreen (0.7.1)
  • 多语言(0.3.3)
  • 机架 (1.4.1)
  • 机架缓存 (1.2)
  • 机架 SSL (1.3.2)
  • 机架测试(0.6.1)
  • 导轨 (3.2.4)
  • 铁路(3.2.4)
  • 耙子 (0.9.2.2)
  • rdoc (3.12)
  • rubygems 捆绑器 (1.0.2)
  • rvm (1.11.3.3)
  • 萨斯(3.1.19)
  • sass-rails (3.2.3)
  • 链轮 (2.1.3)
  • sqlite3 (1.3.6)
  • 术语 ansicolor (1.0.7)
  • therubyracer (0.10.1)
  • 雷神 (0.15.2)
  • 倾斜 (1.3.3)
  • tinymce-rails (3.5)
  • 树顶 (1.4.10)
  • tzinfo (0.3.33)
  • 丑化者 (1.0.3)
4

1 回答 1

1

Rails 3.2.4 在缓存 findall 方面存在问题。我建议您根据以下问题升级到更新版本的 Rails:Rails 3.2.4 SQL query is caching results on find(:all)

于 2012-06-13T15:25:46.757 回答