настройка config.action_controller.perform_caching = true разрывает маршруты в приложении rails 3.2.1 - PullRequest
1 голос
/ 08 февраля 2012

Я испытываю чрезвычайно странное поведение в Rails 3.2.1

У меня есть некоторые ресурсы, которые не имеют действий показа.Например:

resources :homes, :except => [:show]

В моем контроллере я говорю:

  def update
    @domain = Domain.where(:domain => request.domain.split('.').first).first    
    @home = Home.find(params[:id])
    if @home.update_attributes(params[:home])
      expire_page :action => :index
      redirect_to(admin_path(@domain), :notice => "Updated.") 
    else
      render :action => "edit"
    end
  end

и все в порядке в разработке.

Но в производственных рельсах последовательно пытается перенаправить на(не существует) show action, несмотря на очевидное redirect_to.Как будто этот метод полностью игнорируется.На самом деле я могу попытаться перенаправить на любой путь в приложении, и он будет проигнорирован.Как только я установил для execute_caching значение false в production.rb, маршруты снова начинают работать, как и ожидалось!Есть идеи, почему это происходит и как я могу остановить это !?Очевидно, я мог бы отключить кэширование, но мне нужно, чтобы страницы кэшировались по соображениям производительности.

Спасибо за чтение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...