Updating instance variable

I am currently working on an app in which I a list of tasks displayed
under a particular project. These tasks get displayed when the
application first loads. I am setting this project as the current
project. I have a method in my application controller which sets the
last project created by the user as the current project.

def current_project
@current_project = Project.find(:last, :conditions => {:owner

Now the user has other projects as well and he can open those
as well. I can load those projects and get the tasks out of them

But the problem is that I am trying to set this project to the

My tasks controller looks like this:
def index
@tasks = @current_project.tasks
@tasks = @tasks.sort_by{|i| i[:position]}
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @tasks }
def load_tasks
@current_project = Project.find(params[:id])
redirect_to tasks_url

The load_tasks action is being called on clicking of the project link
so as to set the new value to @current_project and then redirect to
the index action. But this doesn’t seem to work and the value of the
@current_project stays the same in index action (which the value
was there when the application was loaded).

Is there a way that I can set the value to the @current_project? I
also tried to implement a getter and setter method but I don’t think
implemented it correctly or even if would help my cause here.
If someone can point me in the right direction that will be great.
Also I am a newbie to rails, i would like to apologize in advance in
case this is a real fundamental mistake.


Instance variables are lost at the end of the current request, so
setting them and redirecting won’t accomplish anything. You might want
to consider stashing the current project’s ID in the session, where it
will be accessible to other actions.

–Matt J.