Rails 3.2.4 Zapytanie SQL powoduje buforowanie wyników wyszukiwania (: all)
Nie jestem pewien, czy ten system buforuje dane, ale ma pewne cechy buforowania.
Zasadniczo bałaganiłem z szynami 3.2.4 i system zaczął nie wyświetlać niektórych wyników. Myślę, że to rosa do domyślnego zakresu, który umieściłem w modelu kodu, ale nawet to powinno wyświetlać wszystkie wyniki nie 9 na 10. Jednak zawsze brakowałoby mi nowych rekordów, które stworzyłem i innych rekordów, które utworzyłem po ten rekord. Sprawdzam bazę danych sqlite3, aby sprawdzić, czy dane zostały tam umieszczone, a także sprawdzić wszystkie informacje o połączeniu i upewnić się, że buforowanie jest wyłączone. Mogłem jednak wyświetlić dane, jeśli zmieniłem dowolny plik modelu lub plik kontrolera, a następnie go zapisałem. Nie zmieniłby nawet kodu, wystarczy polecenie dotykowe. Myślę, że ma to coś wspólnego z zakresem, ale nie mogę być całkowicie pewny. Jedno rozwiązanie, które znalazłem, to powrót do Rails 3.2.2. To szykuje się do załatwienia sprawy. Ale nadal nie lubię ścinać, jak po prostu poddałem się, zastanawiając się nad tym.
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
houses / index.html.erb
<%= debug @houses %>
Jak widać, nic super szalonego.