Rieles: cómo mostrar el atributo de un modelo asociado

Estoy tratando de hacer una aplicación en Rails 4.

Acabo de hacer esta pregunta relacionada y obtuve una respuesta clara. Parece que no puedo entender cómo tomar esa lógica y aplicarla en otro lugar.

Rails Cómo mostrar atributos de un objeto padre

Tengo un modelo de usuario, un modelo de perfil, un modelo de proyectos y un modelo de universidades.

Las asociaciones son:

Profile belongs to university
Profile belongs to user
University has many profiles
University has many projects
Projects HABTM user
Projects belong to universities

En mi controlador de proyectos, defino @creator de la siguiente manera:

def create
    logger.debug "xxx create project"
    #authorise @project
    @project = Project.new(project_params)
    @project.creator_id = current_user.id
    @project.users << current_user
    respond_to do |format|
      if @project.save

        format.html { redirect_to @project }
        format.json { render action: 'show', status: :created, location: @project }
      else
        format.html { render action: 'new' }
        format.json { render json: @project.errors, status: :unprocessable_entity }
      end
    end
  end

Intento definir creator_profile de esta manera:

def show
    #authorise @project

    @project = Project.find(params[:id])
    @creator = User.find(@project.creator_id)
    @creator_profile = @creator.profile

  end

En mi tabla uni, tengo atributos llamados logo y nombre. Utilizo el cargador de avatar en el que tengo un logotipo definido (es por eso que tengo dos .logo a continuación).

En mis proyectos, mostrar, quiero mostrar la universidad a la que pertenece el creador del proyecto.

He intentado esto:

<%= image_tag(@creator_profile.university.logo.logo) %> 
        <div class="generaltext"><%= @creator_profile.university.name %> </div>

Obtengo este resultado: método indefinido `logo 'para nil: NilClass

Basado en el enlace a mi problema anterior

<%= image_tag(creator_profile.university.logo.logo) %> 
            <div class="generaltext"><%= creator_profile.university.name %> </div>

Me sale este resultado:

undefined local variable or method `creator_profile' for #<#<Class:0x007f998f17ad88>:0x007f998d1ce318>

No estoy seguro de haber entendido las explicaciones muy detalladas dadas en la respuesta a mi pregunta anterior. Si la primera versión es correcta, entonces no entiendo la explicación en absoluto. Si la segunda versión es correcta, ¿por qué aparece este mensaje de error?

Me pregunto si el problema surge si no existe una asociación entre la universidad y el usuario. Esperaba, según el usuario que creó el proyecto, encontrar la unidad a la que pertenece el creador.

Por eso lo intenté:

<%= image_tag(creator_profile.project.university.logo.logo) %> 
                <div class="generaltext"><%= creator_profile.project.university.name %> </div>

Me sale este error:

undefined method `project' for #<Profile:0x007f998ada41b8>

Respuestas a la pregunta(2)

Su respuesta a la pregunta