Forum: Ruby on Rails Passing aariable from controller to a different view ????

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Dave S. (Guest)
on 2008-12-22 15:23
Hi Guys,

I am still very new to this rails stuff so I'm looking for some help. I
have a login controller which authenticates a person and redirects them
to the projects page, here is a snippet of code.

          person = Person.authenticate(params[:email_address],
          if person
            session["user_id"] =
            if person.type == "Customer"
              flash[:notice] = "You have successfully logged in"
              redirect_to(:controller => "projects", :action => "index"
            redirect_to :action => "login"
            flash[:notice] = "Invalid user/password combination"

I have a projects controller which has a field company_id (as a project
belongs to a company). I also have a people table which holds the
customers (as well as admins based on person.type).

I want to be able to redirect the person to the projects table and have
the projects displayed only for that user.

In the customer model I have specified  belongs_to :company.
In the project model I have also specified  belongs_to :company.
In the company model I have specified  has_many :projects.

Somehow I need to get the person logging in from the login controller
and transfer that to company controller and then pass that to the the
projects controller to use in the project view.

But I have really stuck on how to do this!

Please can someone help!


Ryan B. (Guest)
on 2008-12-22 15:54
(Received via mailing list)
Use restful authentication (or a similar plugin) for tracking that
kind of stuff:
Ryan B.
Dave S. (Guest)
on 2008-12-22 16:49
Ryan B. wrote:
> Use restful authentication (or a similar plugin) for tracking that
> kind of stuff:
> -----
> Ryan B.
> Freelancer

Couldnt I just do the following... in my projects controller?

before_filter :find_projects

def index
  #  @projects = Project.find(:all)
  #  @project_company = @projects.company_id
    @projects = @results.find(:all)

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @projects }

def find_projects
    @user_in = Person.find_by_id(session["user_id"])
    @company = Company.find_by_id(@user_in.company_id)
    @results = Company.find( # Find all projects
that belong to company
This topic is locked and can not be replied to.