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
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.