Rails的3.2.4 SQL查询是找到缓存结果(:所有)(Rails 3.2.4 SQL quer

2019-06-25 08:48发布

我总不知道,如果这个系统缓存中的数据,但它有一些缓存的胡萍的。

Basicly我与导轨3.2.4搞乱和系统启动不显示的一些结果。 我认为这是露我放入代码模型但即便如此,这应该显示所有结果不是9满分10分。但是我总是会丢失,我创造了新的记录,我创造后,任何其他记录的默认范围该记录。 我检查我的sqlite3的数据库,查看数据是否是发生在那里,并检查所有的连接信息,确保缓存一起关闭。 不过,我可以得到的数据显示,如果我改变了任何模型文件或控制器文件,然后保存它。 甚至会不会改变代码只是touch命令会做的伎俩。 我认为这是与范围,但我不能总肯定。 一个解决方案,我发现是刚要走回落到Rails的3.2.2。 它接缝做的伎俩。 但我还是不喜欢砍伐像我刚才用了搞清楚了这一点给英寸

development.rb

  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false 

house.rb

class House < ActiveRecord::Base
  attr_accessible :name

  default_scope :order => 'created_at DESC', :limit => 50
  validates_presence_of :name
  has_many :roomies
end

schema.rb

ActiveRecord::Schema.define(:version => 20120601204050) do
  create_table "houses", :force => true do |t|
    t.string   "name"
    t.datetime "created_at", :null => false
    t.datetime "updated_at", :null => false
  end
end

houses_controller.rb

class HousesController < ApplicationController
  def index
    @houses = House.all
  end

  def new
    @house = House.new
  end

  def show
    @house = House.find(params[:id])
  end

  def create
    @house = House.new(params[:house])

    if @house.save
      flash[:success] = "Your house has been created and is ready to have people added to it."
      redirect_to houses_path
    else
      flash[:error] = "Your house could not be added dew to a error!"
      render :action => :new
    end
  end
end

房屋/ index.html.erb

<%= debug @houses %>

正如你可以看到什么超级疯狂。

Answer 1:

Rails的3.2.4不得不四处范围进行的调用缓存无意回归。 尝试轨3.2.5代替,其中包括这次提交



文章来源: Rails 3.2.4 SQL query is caching results on find(:all)