I've created a module to include in a Controller. Basically it works, but I am expecting methods in the module to have access to instance variables from the controller, and that appears to not be the case. Yet, a simple Ruby example says it should be. I'm not sure what's different.
Simple Example:
module ShapeStuff def set_type @type = 'circle' end end
class Shape include ShapeStuff attr_accessor :type def initialize @type = 'square' end end
x = Shape.new puts x.type # 'square'
x.set_type puts x.type # 'circle'
My distilled Rails example would be something like this. I require the file in environment.rb.
module EventControls def change_test_var @test_var = 'y' end end
class UsersAdminController < ApplicationController
include EventControls layout '1col_admin' attr_accessor :test_var
def some_action @test_var = 'x' change_test_var end end
Using debug(@test_var) the value doesn't ever appear to change from 'x'
Additionally, I expected session to be available to the module methods too, but it isn't.
Confused...
-- gw