Forum: Ruby on Rails caches_action, before_filter and globalize

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
92da3d15a2107d800a143e2b58cfb590?d=identicon&s=25 Tomislav Filipčić (Guest)
on 2007-01-20 21:19
Hi,

I'am trying to add caching to my application. I'm using Globalize for
internationalization so I need to run :before_filter to determine the
right language for display.

I tried adding lines like this to my controllers believing it would just
work

caches_action :index

but I get errors in my logs, the before filter does not run, and I don't
understand why it should yield. Rails 1.2.1. Thank you for your help.



Processing FrontpageController#index (for 127.0.0.1 at 2007-01-20
02:30:33) [GET]
  Session ID: ab1254f2b913ec8b524b414bbf90d274
  Parameters: {"action"=>"index", "controller"=>"frontpage"}
Fragment read: localhost:3003/index (0.00052)
Filter chain halted as
[#<Proc:0x02534538@/Applications/Locomotive2/Bundles/rmagickRailsJan2007_x86.locobundle/framework/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:597>]
did not yield.
Completed in 0.00513 (194 reqs/sec) | DB: 0.00000 (0%) | 200 OK
[http://localhost/]



This is my application.rb

class ApplicationController < ActionController::Base
  # Pick a unique cookie name to distinguish our session data from
others'
  session :session_key => '_filipcic_session_id'

  before_filter :set_locale

  def set_locale
    default_locale = 'en-US'
    accept_locales = LOCALES.keys
    request_language = request.env['HTTP_ACCEPT_LANGUAGE']
    request_language = request_language.nil? ? nil :
    request_language[/[^,;]+/]

    @locale = params[:locale] || session[:locale] ||
              request_language || default_locale
    session[:locale] = @locale
    begin
      if accept_locales.include?(@locale)
        Locale.set @locale
      else
        Locale.set default_locale
      end
    rescue
      Locale.set default_locale
    end
  end

end
This topic is locked and can not be replied to.