Hola,
voy a intentar explicarme un poco mejor;
tengo los modelos generados por el scaffold categoria y articulo que
estan anidados funcionan perfectamente de la forma:
0.0.0.0:3000/categorias/
0.0.0.0:3000/categorias/1
0.0.0.0:3000/categorias/1/articulos
etc…
pero ahora lo que quiero es que a todo esto se acceda de la forma
0.0.0.0:3000/catalogo/categorias/
0.0.0.0:3000/catalogo/categorias/1
0.0.0.0:3000/catalogo/categorias/1/articulos
ya que quiero diferenciar un poco las secciones de la web. Para ello he
hecho algo parecido a lo que sugerias en esta respuesta que me distes
anteriormente: [1]
por lo que el resultado debÃa ser algo parecido ha haber creado los
scaffolds de la forma Catalogo::Categoria y Catalogo::Articulo y luego
haberlos aninadados.
he ido realizando el cambio y he ido probando, actualmente, tengo total
acceso para ls rutas de categorias pero cuando intento acceder a los
articulos de alguna categoria me suelta este error:
Showing catalogo/articulos/index.html.erb where line #21 raised:
undefined method `catalogo_categoria_catalogo_articulo_path’ for
#ActionView::Base:0xb6e5aaf4
Extracted source (around line #21):
18: <%=h articulo.precio %>
19: <%=h articulo.categoria.nombre %>
20: <%=h articulo.nuevo %>
21: <%= link_to ‘Show’, [@categoria, articulo] %>
22: <%= link_to ‘Edit’, [:edit, @categoria, articulo] %>
23: <%= link_to ‘Destroy’, [@categoria, articulo], :confirm =>
‘Are you sure?’, :method => :delete %>
24:
del que yo sobre entiendo que de esta linea,
21: <%= link_to ‘Show’, [@categoria, articulo] %>
esto [@categoria, articulo] cambia por
catalogo_categoria_articulo_path(@categoria, articulo)
y asà con los demás, y este problema solucionado, gracias al post de
Jaime I. [2].
Pero además ahora me surge otro problema, y es que por ejemplo, al
modificar una categorÃa me lo indica como correcto pero no se hace la
modificación, o al intentar crear una nueva me dice que el campo nombre
que es obligatorio esta vacÃo cuando no lo está.
esto es lo que contiene la acción edit del controlador categoria:
def edit
@categoria = Categoria.find(params[:id])
end
y esto lo que contiene la vista edit de categoria:
Editing categoria
<%= error_messages_for :categoria %>
<% form_for(@categoria) do |f| %>
Nombre
<%= f.text_field :nombre %>
<%= f.submit "Update" %>
<% end %>
<%= link_to ‘Show’, @categoria %> |
<%= link_to ‘Back’, catalogo_categorias_path %>
saben a que se puede deber esta pérdida de los valores del formulario.
por cierto Jaime http://www.nurbijou.com/ me parece un proyecto bien
realizado y del que se puede aprender mucho.
un saludo y gracias
Ancor C.
[1] http://www.ruby-forum.com/topic/143878?reply_to=642196#640216
[2]
http://www.jaimeiniesta.com/2007/12/22/tutorial-recursos-anidados-con-rest-y-rails-2/
Jaime I. wrote: