Hola amigos,
He hecho ya unos cuantos tutos obre REST, me lo he empollado a fondo y
en mi aplición ya lo vengo utilizando sin problemas (me refiero a
algun recurso anidado sobre todo, ya que los demás no tienen mucho
misterio).
El caso es que de repente me he topado con algo que (seguramente los
árboles no me dejan ver el bosque) me está volviendo loco. Os cuento:
Tengo un modelo video anidado a un modelo user tal que
así:Class User:
has_many :videos
Class Video:
belongs_to :user
Routes:
map.resources :users, :has_many => :videos
map.resources :videos
(Mantengo ambas rutas, ya que quiero poder acceder a los vídeos
directamente también ¿Esto es correcto o da problemas?)
Todo me funciuona perfectamente con sus rutas REST, creando, viendo y
eliminando videos. Los vídeos se asignan perfectamente al current_user
al crearse por medio de new, etc…
El problema lo tengo en el edit, que en el formulario de la vista me
está dando un error de ruta. (Creo):
Called id for nil, which would mistakenly be 4 – if you really wanted
the id of nil, use object_id
La ruta que casca es:
http://localhost:3004/users/7/videos/4/edit
Y el formulario de la vista edit.html.rb:
<% form_for([@current_user, @video], :html => { :multipart => true }) do
|f| %>
<%= f.error_messages %>
<%= f.label :title %>: | <%= f.text_field :title %> |
<%= f.label :description %>: | <%= f.text_area :description %> |
<%= f.label :video %>: | <%= f.file_field :uploaded_data %> |
<%= f.submit 'Submit' %> - <%= link_to 'Back', videos_path %> |
<% end %>
Es el mismo formulario que en el caso de la vista new me funciona a
las mil maravillas.
¿Sabéis que está pasando? ¿Que hago mal?
Gracias de antemano.
–
Fernando V.
Web Designer
http://www.fernandoval.es