Hi Hans,
processes don''t know each other and i.g. you can''t control
which
instance of
your Application responds to the next request, this means:
Apache (T=0)
|
+ < Application (Process 0)
| @@flock = nil
|
|
+ > Fork''d Application (Process 1)
| @@flock = nil
|
+ > Fork''d Application (Process 2)
@@flock = nil
---
Apache (T=1)
|
+ < Application (Process 0)
| @@flock = nil
|
|
+ > Fork''d Application (Process 1)
| @@flock = nil
|
+ > Fork''d Application (Process 2) < - REQUEST 1 *200*
@@flock = nil
---
Apache (T=2)
|
+ < Application (Process 0)
| @@flock = nil
|
|
+ > Fork''d Application (Process 1) < - REQUEST 2 *500*
| @@flock = nil
|
+ > Fork''d Application (Process 2)
@@flock = true
If you use Mongrel or Thin whereas only a single Process for your
application
exists the class variable is always the same.
Thin (T=0, Process 0)
|
+ <> Application
@@flock = nil
---
Thin (T=1, Process 0)
|
+ <> Application < - REQUEST 1 *200*
@@flock = nil
---
Thin (T=2, Process 0)
|
+ <> Application < - REQUEST 2 *200*
@@flock = true
---
Regards
Florian
Am 14.09.2009 um 11:33 schrieb Hans:
>
> In my local development environment I define a class variabel
> @@has:flock? in a modele that is included in controllers so I can
> reset this variable in each controller that has to change it
> The code in the module is
> module CrudActions
> @@page_records=15
> @@has_flock = true
>
> def index
> if @@has_flock : paginate_conditions=[''flock_id=?
> '',current_user.flock.id]
> else paginate_conditions='''' end
>
> ......and in the controller
> class DiswebUsersController < ApplicationController
> include CrudActions
> @@page_records=15
> .....
>
> That works fine locally but when I deploy the application and use an
> apache server it does not work anymore (@@has_flock? is false) in the
> method index
> Then the variable is not set in the module
> Any idees of what is happening ?
> I can fix it by defining a method, but I wauld like to know if that is
> necessery
> Any help is appreciate?
>
> >