Problemas que muestran solo proyectos que pertenecen a un usuario.

Así que estoy construyendo una aplicación de Rails donde puedes mostrar proyectos y así sucesivamente. Tengo el siguiente código en mi controlador de proyectos:

def create @project = Project.create(params[:project].merge(:user_id => current_user.id)) if @project.save redirect_to project_path(@project), :flash => {:success => 'We have created your project'} else redirect_to :back, :flash => {:error => 'Cannot allow an empty project name'} end end 

esto creará un proyecto, a partir de lo que entiendo según y relacionado con la identificación del usuario, en el modelo que tengo:

 class Project  'position', :dependent => :destroy has_many :tasks, :dependent => :destroy has_many :discussions, :dependent => :destroy has_many :users belongs_to :user validates :project_title, :presence => true end 

Actualizado: El controlador de usuario Mostrar acción para mostrar los proyectos para el usuario

  def show @user = current_user @projects = current_user.projects.all @tasks = current_user.tasks.all @categories = current_user.categories.all @discussions = current_user.discussions.all end 

* Actualizado para mostrar la acción del índice del controlador de proyectos *

  def index @project = Project.new @projects = Project.all end 

Con eso en mente, me pregunto por qué puedo hacer que un usuario bob cree un proyecto, cierre sesión y el usuario jake pueda iniciar sesión y ver el usuario bobs project …

¿Estoy haciendo algo mal en la creación? Puedo mostrar más código si lo necesita, pero pensé que esto sería lo más útil.

Parece que en su método de index de users_controller , está users_controller todos los proyectos creados. Si desea mostrar proyectos creados solo por current_user, solo debe recuperar esos registros.

es decir, debería ser

  @projects = current_user.projects 

y lo que tienes en este momento es (puede ser)

  @projects = Projects.all 

También en el método de show anterior haciendo current_user.projects .todas no tiene ningún sentido.

current_user.projects buscará los registros que necesita.