I'm having a hard time figguring out what is wrong with my controller. I create an attribure, @processes in the method index. I then want to access the attribute in the same class, in another method process_status. I get an error: NoMethodError in Processes#process_status You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occured while evaluating nil.sizeRAILS_ROOT: ../script/../config/.. So it looks to me that the instance of ProcessController is changing and the attribute is nil? Is there a way around this? Why does Rails create a new controller for each invocation of a method?