Variable Scope Within a controller

I have a controller for registering an user.
i am not able to use the instance variable @username in “Process”. How
do i use them ? and also is it safe to declare usernames and passwords
as global variables.

I am pretty new to ruby on rails. any help would be great.

class RegisterController < ApplicationController

def register
@username = “User”
@password = “XXXX”

end

def process

puts “#{@username}” - Doesnt work

end

end

-Ashwin

On Mar 9, 11:40 pm, Ashwin V. [email protected] wrote:

I have a controller for registering an user.
i am not able to use the instance variable @username in “Process”. How
do i use them ? and also is it safe to declare usernames and passwords
as global variables.

While process and register are two instance methods of your
controller, if your user first goes to the register page and then to
the process page then those are two difference instances of
RegisterController. In a real world deployment they could be handled
by different instances of mongrel/unicorn/passenger/etc, possibly by
different servers. Global variables are also a bad idea. Your choices
for state are pretty much the database, cookies (or the session, but
that sits on top of either cookies or the database) or, to some extent
the html that you spit out

Fred

I am not currently using database for my application, i am getting the
data from forms, and calling a register api
[ register(username,pwd,email) ].
The only reason i want the username and pwd for “process” is cause
my registration page is a 2 step process. and for each step i have
defined an instance method.
so the first step i register the user, and second step i add some
details . so in the second step i would be calling a function
[ process(username,pwd,Details)]
consider “details” to be a bunch of data in xml format. and i want the
user to enter only details in the second page. so the second page has
to be aware of the username and pwd values.

On Mar 9, 3:58 pm, Frederick C. [email protected]

Hi,

is just an idea but you can try to store this data in the flash hash,
than kind of behavior is why flash hash exist.

Cristian Vasquez
Medellín - Colombia