I managed to get rid of the 'base_language' not set error by having the 
following code in my ApplicationController:

class ApplicationController < ActionController::Base
  model :cart
  model :line_item

  before_filter :set_locale
  after_filter :set_charset

  def set_locale
    if !params[:locale].nil? && LOCALES.keys.include?(params[:locale])
      Locale.set LOCALES[params[:locale]]
    else
      if Locale.base_language
        redirect_to params.merge( 'locale' => Locale.base_language.code 
)
      else
        redirect_to params.merge( 'locale' => 'en' )
      end
      return true
    end
  end

...
end

But now I get:

Exception: Render and/or redirect were called multiple times in this 
action. Please note that you may only call render OR redirect, and only 
once per action. Also note that neither redirect nor render terminate 
execution of the action, so if you want to exit an action after 
redirecting, you need to do something like "redirect_to(...) and 
return". Finally, note that to cause a before filter to halt execution 
of the rest of the filter chain, the filter must return false, 
explicitly, so "render(...) and return false".
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:840:in
 
`redirect_to'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:854:in
 
`redirect_to'
D:/Projects/Rails/depot/config/../app/controllers/application.rb:43:in 
`authorize'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:399:in
 
`send'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:399:in
 
`call_filters'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:394:in
 
`each'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:394:in
 
`call_filters'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:383:in
 
`before_action'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:365:in
 
`perform_action_without_benchmark'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in
 
`perform_action_without_rescue'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in
 
`perform_action_without_rescue'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/rescue.rb:82:in
 
`perform_action'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in
 
`send'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in
 
`process_without_filters'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:377:in
 
`process_without_session_management_support'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/session_management.rb:117:in
 
`process_without_test'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/test_process.rb:16:in
 
`process'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/test_process.rb:363:in
 
`process'
d:/Tools/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/test_process.rb:336:in
 
`get'
D:\Projects\Rails\depot/test/functional/login_controller_test.rb:17:in 
`test_index'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/testcase.rb:72:in 
`__send__'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/testcase.rb:72:in 
`run'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/testsuite.rb:34:in 
`run'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in 
`each'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in 
`run'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/testsuite.rb:34:in 
`run'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in 
`each'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in 
`run'
d:/Tools/InstantRails/ruby/lib/ruby/1.8/test/unit/ui/testrunnermediator.rb:46:in
 
`run_suite'
D:/Tools/RadRails_0_7_2/plugins/org.rubypeople.rdt.testunit_0.8.0.604272100PRD/ruby/RemoteTestRunner.rb:107:in
 
`start_mediator'
D:/Tools/RadRails_0_7_2/plugins/org.rubypeople.rdt.testunit_0.8.0.604272100PRD/ruby/RemoteTestRunner.rb:52:in
 
`start'
D:/Tools/RadRails_0_7_2/plugins/org.rubypeople.rdt.testunit_0.8.0.604272100PRD/ruby/RemoteTestRunner.rb:272


-- 
Posted via http://www.ruby-forum.com/.
_______________________________________________
Railsi18n-discussion mailing list
Railsi18n-discussion@rubyforge.org
http://rubyforge.org/mailman/listinfo/railsi18n-discussion

Reply via email to