Ruby on rails RubyonRails服务器在重新启动之前不反映对数据库记录的更改

Ruby on rails RubyonRails服务器在重新启动之前不反映对数据库记录的更改,ruby-on-rails,ruby,sqlite,rails-activerecord,Ruby On Rails,Ruby,Sqlite,Rails Activerecord,如果我打开Rails控制台并创建一个新的小部件: >> widget = Widget.new >> widget.name = "Whatever" >> widget.save 小部件保存时不会出错。但是,当我跑步时: >> Widget.all 此新小部件不会出现在返回的记录列表中。但是,如果重新启动Rails控制台并再次运行相同的命令: >> Widget.all 小部件现在显示在记录列表中。为什么会这样?我在Rails服

如果我打开Rails控制台并创建一个新的小部件:

>> widget = Widget.new
>> widget.name = "Whatever"
>> widget.save
小部件保存时不会出错。但是,当我跑步时:

>> Widget.all
此新小部件不会出现在返回的记录列表中。但是,如果重新启动Rails控制台并再次运行相同的命令:

>> Widget.all
小部件现在显示在记录列表中。为什么会这样?我在Rails服务器上也遇到了同样的问题;如果使用生成的scaffold视图创建或编辑小部件,则在重新启动Rails服务器之前,这些小部件不会显示在show视图中


顺便说一句,我在Windows7上,使用RubyMine作为IDE,使用Rails3.2.4和sqlite3

上面的一位评论员建议我更新rails 3.2.11。我更新了Gemfile中的版本并运行了
bundle update
,这就解决了这个问题。我不知道更新之前哪个gem或它们的组合是问题所在。

请提供有关数据库系统的信息顺便说一句,我在Windows 7上,使用RubyMine作为IDE,使用rails 3.2.4和sqlite3。与您的问题无关:您应该立即更新到rails 3.2.11。3.2.4包含已知的安全漏洞。谢谢你,Daniel!我会的。你能试着把ActiveRecord::Base.connection.execute(“SELECT*fromwidgets”)放在你的控制台中吗?Rails 3.2.4有一个回归,意外地缓存了对.all的调用