rails controller variable scope from action to action

#rails #ruby #controller variable scope

class UsersController < ActionController
    def create
      @val1 = "hello"
      @val2 = "end"

  def method1
      puts @val1

def method2
  puts "how can i access other controller action instance variable here"
  puts "without using model class instance"

  puts @val2


I am using global variables to store those 2 values wen I call 2nd
action after I call 1st action those are set to nil.

You can't access instance variables setup in a previously called
action as the controller object is re-constructed for each request.
It is possible that the server shut down due to innactivity in the
intervening time, or the requests could even be handled in different
instances of the server (in production there may be multiple instances
running). One way to solve this is to use a before filter to
initialise the variables.


Even if you worked out why that was happening it is not safe, as I
mentioned in my previous post there may be multiple instances of the
server running in production so this would not work.