nested form + partial + collection_select [No novato]

¡Hola! Tengo lo siguiente:

Una página donde esta mi modelo docencia que a su vez le voy agregando
todos los dictados de carreras:

  <fieldset>
   <% f.fields_for :dictados do |dictado_form| %>
   <%= render :partial => 'dictado', :locals => { :f => dictado_form }
%>
   <% end %>
   <%= add_child_link "Agregar un dictado de carrera", f, :dictados %>
  </fieldset>

En el partial de dictado carrera tengo lo siguiente:

<%= render :partial => './shared/carreras' %>

Y el partial de carrera tiene lo siguiente:

<%= collection_select(@mcarrera.to_s, "codcarrera", Carrera.find(:all,
:order=>"nombre"), :codcarrera, :nombre,
   {:prompt => "", :selected => @codcarrera.to_i}) %>

Esto es porque una de las cosas que quiero saber es en que carrera dió
clases el docente. Ahora, me funciona todo bien salvó que no va
correctamente el dato de codcarrera por POST.

Se preguntarán porque '@mcarrera'... Porque en otras vistas uso el mismo
partial y ese '@mcarrera' lo seteo con el nombre del modelo para que el
datos de codcarrera vaya por el POST asociado al modelo y se guarde de
una.

En fin, lo que tendría que lograr al ver el código html es:
'docencia[dictados_attributes][?][codcarrera]' pero no se como hacerlo

Otro problema es que al editar como hago para que queden seleccionadas
las carreras en caso de ser más de uno el dictado?

Espero haberme expresado bien y puedan ayudarme. Seguramente a alguién
le paso pero no encontré nada por acá. Gracias!