Hi, I am having a really tough time figuring this out. I followed the tutorial below to add a RESTful authentication to a Ruby application that tracks projects (just a title and a url). The tutorial is for a blog, but I just changed blog to projects
http://ruby.about.com/od/rubyonrails/ss/railsblog3.htm My main table of projects is: projects ------- ID: integer Title: string Url: string The RESTful Authentication plugin adds: user ------ ID: integer login: varchar password:varchar .... and a sessions controller. I would like the application to show the user a list of the projects that belong to them when they go do the projects index action. However, I have no idea how to link the user ID to a particular project and then list their projects based on whether they are the appropriatly logged in user. I figure that when a new project is created, the create method could add the user ID to the project in another column. And then, when the list/show action is called for the projects, only the appropriate projects will show. Here is the projects controller. Can anyone help me with this? I'm in over my head. Thanks, Vince. class ProjectsController < ApplicationController before_filter :login_required # GET /projects # GET /projects.xml def index @projects = Project.find(:all) respond_to do |format| format.html # index.html.erb format.xml { render :xml => @projects } end end # GET /projects/1 # GET /projects/1.xml def show @project = Project.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @project } end end # GET /projects/new # GET /projects/new.xml def new @project = Project.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @project } end end # GET /projects/1/edit def edit @project = Project.find(params[:id]) end # POST /projects # POST /projects.xml def create @project = Project.new(params[:project]) #...@project.clientid = @session['user'].id respond_to do |format| if @project.save flash[:notice] = 'Project was successfully created.' format.html { redirect_to(@project) } format.xml { render :xml => @project, :status => :created, :location => @project } else format.html { render :action => "new" } format.xml { render :xml => @project.errors, :status => :unprocessable_entity } end end end # PUT /projects/1 # PUT /projects/1.xml def update @project = Project.find(params[:id]) respond_to do |format| if @project.update_attributes(params[:project]) flash[:notice] = 'Project was successfully updated.' format.html { redirect_to(@project) } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @project.errors, :status => :unprocessable_entity } end end end # DELETE /projects/1 # DELETE /projects/1.xml def destroy @project = Project.find(params[:id]) @project.destroy respond_to do |format| format.html { redirect_to(projects_url) } format.xml { head :ok } end end end -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---