Forum: Rails-ES Rails2 y el generador de scaffold

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
9ded653951b8ab8749ea3bf9de4a3fc0?d=identicon&s=25 Ancor Cruz (acruz)
on 2008-02-25 15:11
Hola,

estoy comenzando a usar rails2 y me estoy encontrado con el siguiente
problema,
tengo un modelo que se llama Articulo y un controlador que se llama
Admin, y estoy intentando generar un scaffold de Articulo con el
controlador Admin, pero por más que lo intento con "script/generate
scaffold Articulo Admin" me da el siguiente error "wrong number of
arguments (1 for 2)" aunque si no uso el nombre del controlador creará
uno nuevo con el nombre del modelo en plurar, pero esto no es lo que
necesito.

viendo la ayuda del generador scaffold parece que la opción de generar
scaffold especificando el controlador ya no es posible.

¿Que me recomienda hacer para subsanar este problema?


por otro lado, soy un tanto novato en esto del MVC y no se si mis ideas
se ajustan a esta metodologia, la idea es crear un catalogo online, con
los modelos, Articulo y Categoria, luego tener dos interfaces, una para
el visitante/usuario con la posibilidad de acceder a una zona privada
con su registro y otra zona para la administracion del catalogo.

pues mi idea era esa,
Modelos: Articulo y Categoria
Controladores: Admin y Catalogo (catalogo es para los usuarios)
Vistas: las que correspondan a cada caso

¿lo veis bien orientado a la metodologia MVC?

un saludo y gracias,


Ancor.
38a90caa7b954fef83567827cc2d3fef?d=identicon&s=25 Jean Droguett (jean)
on 2008-02-25 15:28
(Received via mailing list)
Si lo que quieres es separar la administración, puedes hacer:

script/generate scaffold admin/articulo

script/generate scaffold admin/categoria

Las vista y controladores te quedan en una carpeta admin

y las URL serán    /admin/articulos/new    /admin/categorias/new,  etc.

El día 25/02/08, Ancor Cruz <ruby-forum-incoming@andreas-s.net>
escribió:
> uno nuevo con el nombre del modelo en plurar, pero esto no es lo que
> los modelos, Articulo y Categoria, luego tener dos interfaces, una para
> un saludo y gracias,
>
--
Saludos
Atte

Jean Marcel Droguett A.
Bf47b813b0de4867a015fd4b54ac2fb4?d=identicon&s=25 Miguel Michelson (samek)
on 2008-02-25 16:00
(Received via mailing list)
tambien al hacer el scaffold en rails2 tienes que declarar los campos
del
modelo

generate scaffold admin/posts title:text publish:integer ...

Saludos

2008/2/25 Jean Droguett <jdroguett@gmail.com>:
0f1f17ba297242e9d3c86d4cc0a6ea85?d=identicon&s=25 Iñaki Baz Castillo (Guest)
on 2008-02-25 23:13
(Received via mailing list)
El Lunes, 25 de Febrero de 2008, Miguel Michelsongs escribió:
> tambien al hacer el scaffold en rails2 tienes que declarar los campos del
> modelo
>
> generate scaffold admin/posts title:text publish:integer ...

Me di cuenta de esto el otro día. ¿Alguien sabe por qué este requisito
que
antes no existía?
F625b891618be8ec32547a07b3192bb0?d=identicon&s=25 Francesc Esplugas (fesplugas)
on 2008-02-25 23:21
(Received via mailing list)
Anteriormente, si mal no recuerdo, al hacer un scaffold Rails
consultaba el modelo y generaba el scaffold, de esta manera si
modificabamos o añadiamos un atributo al modelo, teniamos que generar
nuevamente el scaffold.


On Feb 25, 2008, at 11:12 PM, Iñaki Baz Castillo wrote:

>
> --
> Iñaki Baz Castillo
> _______________________________________________
> Ror-es mailing list
> Ror-es@lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es

--
Not sent from my iPhone
0f1f17ba297242e9d3c86d4cc0a6ea85?d=identicon&s=25 Iñaki Baz Castillo (Guest)
on 2008-02-25 23:40
(Received via mailing list)
El Lunes, 25 de Febrero de 2008, Francesc Esplugas
escribió:> Anteriormente, si mal no recuerdo, al hacer un scaffold Rails
> consultaba el modelo y generaba el scaffold, de esta manera si
> modificabamos o añadiamos un atributo al modelo, teniamos que generar
> nuevamente el scaffold.

Pero no entiendo la diferencia. Si ahora añado o modifico el modelo tengo
que
retocar las vistas (como poco) igual que lo hacía antes (o eso o eliminar
todo el scaffold y rehacerlo desde cero).
¿Cuál es ahora la diferencia?

Gracias.
9b3b1fd6baa8379638d8399ecd60045d?d=identicon&s=25 Emili Parreño (emili)
on 2008-02-26 00:42
(Received via mailing list)
Que te genera la migración a la vez que creas el scaffold, antes la
tenías que hacer a posteriori. No es que sea un gran avance, pero
ahorra algo de tiempo.

Supongo que lo han hecho partiendo de la base de que cuando creas un
scaffold sabes los campos que va a tener tu modelo y así en una sola
línea lo ventilas todo.


El 25/02/2008, a las 23:40, Iñaki Baz Castillo
escribió:
> El Lunes, 25 de Febrero de 2008, Francesc Esplugas escribió:
>> Anteriormente, si mal no recuerdo, al hacer un scaffold Rails
9ded653951b8ab8749ea3bf9de4a3fc0?d=identicon&s=25 Ancor Cruz (acruz)
on 2008-02-26 12:52
he seguido tus indicaciones y he lanzado
script/generate scaffold Admin/Articulo nombre:string referencia:string
descripcion:string precio:float nuevo:bool

y como has dicho me ha creado los subdirectorios admin dentro de models,
controllers y demás, y ahí dentro se han creados el controlador, modelo,
etc de Articulo, pero claro, si siguiera este metodo creo q tendria que
crear dos modelos diferentes (con igual contenido) para la parte de
administracion y otro para la parte de los usuarios.

Yo lo que realmente quiero, es tener los modelos Articulo y Categoria, y
mi idea era tener un controlador para gestionarlos como administrador y
tener otro para el uso de los usuarios que se llamarian Admin y Catalogo
respectivamente, con sus vistas.

No se si esta es la mejor forma de hacerlo ya que yo en la metodologia
MVC ando un tanto verde.

Gracias, un saludo.
Ancor

Jean Droguett wrote:
> Si lo que quieres es separar la administración, puedes hacer:
>
> script/generate scaffold admin/articulo
>
> script/generate scaffold admin/categoria
>
> Las vista y controladores te quedan en una carpeta admin
>
> y las URL serán    /admin/articulos/new    /admin/categorias/new,  etc.
>
> El día 25/02/08, Ancor Cruz <ruby-forum-incoming@andreas-s.net>
> escribió:
>> uno nuevo con el nombre del modelo en plurar, pero esto no es lo que
>> los modelos, Articulo y Categoria, luego tener dos interfaces, una para
>> un saludo y gracias,
>>
> --
> Saludos
> Atte
>
> Jean Marcel Droguett A.
Bf47b813b0de4867a015fd4b54ac2fb4?d=identicon&s=25 Miguel Michelson (samek)
on 2008-02-26 13:54
(Received via mailing list)
Hola, lo que puedes hacer es tener un controller para el publico general
/posts y uno en admin/posts
como el modelo el scaffold lo crea en admin/post, para  acceder al
modelo
debes hacerlo asi Admin::Post,
 entonces puedes acceder a tus modelos desde cualquier lugar

ej

def  catalogo
@articulo = Admin::Articulo.find(:all)
...
end

yo lo he hecho asi y funciona, ahora si no es la mejor forma o
si me estoy equivocando , por favor corriganme

espero sirva la ayuda

Saludos


2008/2/26 Ancor Cruz <ruby-forum-incoming@andreas-s.net>:
38a90caa7b954fef83567827cc2d3fef?d=identicon&s=25 Jean Droguett (jean)
on 2008-02-26 14:22
(Received via mailing list)
que raro que el modelo te quede en el subdirectorio admin, por lo menos
en
rails menores a la 2.0 el modelo queda donde siempre.


El día 26/02/08, Ancor Cruz <ruby-forum-incoming@andreas-s.net>
escribió:
>
>
> > y las URL serán    /admin/articulos/new    /admin/categorias/new,  etc.
> > --
> _______________________________________________
> Ror-es mailing list
> Ror-es@lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>



--
Saludos
Atte

Jean Marcel Droguett A.
0e6c0ba9935b52866fd5c54dd886cf2e?d=identicon&s=25 Jaime Iniesta (Guest)
on 2008-02-26 14:26
(Received via mailing list)
Michel, Ancor... estáis confundiendo modelo con controlador.

En este ejemplo, tendríamos sólo dos modelos:

* Articulo
* Categoria

Esos modelos los podemos controlar de diferentes maneras... por ejemplo:

* /admin/articulos # administración de artículos (generado con scaffold,
tiene index, show, new, create, etc.)
* /admin/categorias # administración de categorías (idem)
* /articulos # parte pública de artículos (solo index, show... no tendrá
acciones destructivas)

En particular, esta línea me ha horrorizado especialmente:

@articulo = Admin::Articulo.find(:all)

Sería, en todo caso:

@articulos = Articulo.find(:all)

o sea, acostumbraos a usar el plural si estamos hablando de
colecciones... Y
el modelo será Articulo, no Admin::Articulo... estamos hablando siempre
del
mismo modelo.

Otra manera de hacerlo es no separar entre parte pública y parte de
administración. O sea, generas el scaffold en /articulos y en
/categorias. Y
después controlas que sólo el que se ha identificado como administrador
pueda usar las acciones new, create, edit, update y destroy, y sólo se
le
muestre el enlace a esas acciones si es administrador.

Pero, por favor, léanse los manuales de Rails... si no se sabe lo
básico, en
esta lista sólo conseguiremos ruido.

Gracias!

Jaime


El día 26/02/08, Miguel Michelsongs <miguelmichelson@gmail.com>
escribió:
Bf47b813b0de4867a015fd4b54ac2fb4?d=identicon&s=25 Miguel Michelson (samek)
on 2008-02-26 14:27
(Received via mailing list)
claro, al parecer en rails 2 si generamos un scaffold admin/algo , el
modelo
lo deja en carpeta models/admin/

2008/2/26 Jean Droguett <jdroguett@gmail.com>:
Bf47b813b0de4867a015fd4b54ac2fb4?d=identicon&s=25 Miguel Michelson (samek)
on 2008-02-26 14:42
(Received via mailing list)
Hola, hay algo que no me queda claro entonces, porque cuando generas un
scaffold tipo admin/blog

el modelo que se guarda en models/admin queda asi:


models/admin/blog.rb

class Admin::Blog < ActiveRecord::Base

...



entonces si vamos a acceder a

@articulos = Articulo.find(:all)  vamos recibir un error,

Tambien, en el caso que queramos dejar a admin/blog.rb como

class Blog < ActiveRecord::Base

tambien vamos a recibir un error porque rails espera recibir una
definicion
de modelo asi  Admin::Blog


Saludos

2008/2/26 Jaime Iniesta <jaimeiniesta@gmail.com>:

> tiene index, show, new, create, etc.)
> * /admin/categorias # administración de categorías (idem)
> * /articulos # parte pública de artículos (solo index, show... no tendrá
> acciones destructivas)
>
> En particular, esta línea me ha horrorizado especialmente:
>
> @articulo = Admin::Articulo.find(:all)
>
 jejej toda la razón lo tomare en cuenta :D

> administración. O sea, generas el scaffold en /articulos y en /categorias. Y
> después controlas que sólo el que se ha identificado como administrador
> pueda usar las acciones new, create, edit, update y destroy, y sólo se le
> muestre el enlace a esas acciones si es administrador.


>
> Pero, por favor, léanse los manuales de Rails... si no se sabe lo básico,
> en esta lista sólo conseguiremos ruido.
>
F625b891618be8ec32547a07b3192bb0?d=identicon&s=25 Francesc Esplugas (fesplugas)
on 2008-02-26 14:55
(Received via mailing list)
Si generas dos modelos ....

  script/generate model post
  script/generate model admin/post

No dejan de ser el mismo modelo. Puedes generar nuevos items ...

  Post.create(:title => "This is chelm")
  Admin::Post.create(:title => "This is chelm")

que se guardaran en la misma tabla ... y a mi hasta aquí me parece
todo correcto.

Lo que podriamos hacer es tener validaciones para cada uno de los
modelos.

  class Post < ActiveRecord::Base
         end

  class Admin::Post < ActiveRecord::Base
    validates_presence_of :title
  end

De manera que esto no creo que nos tenga que horrorizar tanto ;)

  Admin::Post.new.valid?
  =>  false
  Post.new.valid?
  => true

Un saludo,

Francesc

On Feb 26, 2008, at 2:41 PM, Miguel Michelsongs wrote:

> ...
>
>
> tendrá acciones destructivas)
>
>
> escribió:
> Hola, lo que puedes hacer es tener un controller para el publico
> end
>
> que
>
> >
> >> los modelos, Articulo y Categoria, luego tener dos interfaces,
> Posted via http://www.ruby-forum.com/.
> ---------------------------------------
> --
> --
> Atte.
> Miguel Michelson Martinez
> ---------------------------------------
> www.artenlinea.cl _______________________________________________
> Ror-es mailing list
> Ror-es@lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es

--
Not sent from my iPhone
0f1f17ba297242e9d3c86d4cc0a6ea85?d=identicon&s=25 Iñaki Baz Castillo (Guest)
on 2008-02-27 07:47
(Received via mailing list)
El Martes, 26 de Febrero de 2008, Emili
Parreño escribió:> Que te genera la migración a la vez que creas el scaffold, 
antes la
> tenías que hacer a posteriori. No es que sea un gran avance, pero
> ahorra algo de tiempo.
>
> Supongo que lo han hecho partiendo de la base de que cuando creas un
> scaffold sabes los campos que va a tener tu modelo y así en una sola
> línea lo ventilas todo.

En el fondo me parece bien. Personalmente me parecía demasiado "jipi" dar
por
hecho que vamos a necesitar en el modelo los mismos campos que en la
tabla, o
sea, facilitaba las cosas, pero era "excesiva" magia.

Saludos.
0f1f17ba297242e9d3c86d4cc0a6ea85?d=identicon&s=25 Iñaki Baz Castillo (Guest)
on 2008-02-27 08:03
(Received via mailing list)
El Martes, 26 de Febrero de 2008, Miguel Michelsongs escribió:
> claro, al parecer en rails 2 si generamos un scaffold admin/algo , el
> modelo lo deja en carpeta models/admin/

Hombre, yo me imagino que el scaffold es una forma muy rápida de
"hacerlo
todo", pero que por su propia naturaleza no hace "todo" lo que queremos.

Si necesitamos un modelo compartido por varios controladores, estando
estos en
namespaces diferentes entiendo que es necesario hacerlo por partes (el
modelo, luego cada controlador...).
9ded653951b8ab8749ea3bf9de4a3fc0?d=identicon&s=25 Ancor Cruz (acruz)
on 2008-02-29 13:09
Hola,

gracias a todos por las respuestas,

finalmente me he decantado por hacerlo por una de las alternativas que
plantea Jaime, todo en el mismo controlador y añadir comprobación de que
el usuario es el administrador para la acciones destructivas. No se si
sera la mejor forma pero me parecio quizas la mas sencilla.


ya les contaré el resultado que me ha dado.

un saludo.

Jaime Iniesta wrote:
0e6c0ba9935b52866fd5c54dd886cf2e?d=identicon&s=25 Jaime Iniesta (Guest)
on 2008-03-01 12:16
(Received via mailing list)
Creo que la confusión con todo este tema es que el generador de
scaffolds
tiene sus limitaciones, o sus características según se mire, y sólo
espera
que le pasemos el nombre del modelo y no el del controlador.

No creo que sea buena idea esto de generar un scaffold para Post y otro
para
Admin/Post porque entonces nos creará dos archivos de modelo cuando en
realidad es la misma cosa.

La solución: o bien tener la administración integrada con la parte
pública,
o generar el scaffold para Post en plan normal:

  script/generate scaffold Post titulo:string cuerpo:text

y después moverlo a mano, dejando el modelo en app/models/post.rb pero
moviendo el controlador, vistas y tests dentro de sus correspondientes
carpetas de /admin:

  app/controllers/posts_controller.rb  ==>
apps/controllers/admin/posts_controller.rb
  app/views/controllers/* ==> apps/views/admin/controllers/*

en las clases hace falta cambiar a mano el nombre, por ejemplo:

  class PostsController ==> class Admin::PostsController

Además hay que modificar las rutas para usar namespaces:

  map.namespace(:admin) do |admin|
    admin.resources :posts
  end

Y adaptar las rutas en controladores y vistas, por ejemplo:

  new_post_path ==> new_admin_post_path

Suena un poco lío pero en realidad se hace en 10 minutos.

Jaime


El día 29/02/08, Ancor Cruz <ruby-forum-incoming@andreas-s.net>
escribió:
9ded653951b8ab8749ea3bf9de4a3fc0?d=identicon&s=25 Ancor Cruz (acruz)
on 2008-03-05 20:00
Hola,

finalmente me decidí a crearlo en un solo controlador, ahora mismo estoy
en ello, la base estaba funcionando, pero me metí a moverlo a la carpeta
catalogo siguiendo tus instrucciones y de momento todo funciona "bien"
salvo que los datos introducidos en los formularios se pierden, por
ejemplo intento hacer una modificiación, me dice que se hizo OK pero...
esa modificación no se guarda, cuando intento crear un elemento nuevo me
dice que el campo esta vacio.

¿que puede ser lo que esta ocurriendo?


Jaime Iniesta wrote:
9ded653951b8ab8749ea3bf9de4a3fc0?d=identicon&s=25 Ancor Cruz (acruz)
on 2008-03-05 20:59
Hola,

Ademas de esto que mencioné en el post anterior, estaba utilizando
"nested routes" para reperesentar articulos dentro de las categorias
como dice Fabio Akita en el post
http://www.akitaonrails.com/2007/12/12/rolling-wit...
en este caso son comentarios dentro de post.

y ahora al entrar en la ruta,
http://0.0.0.0:3000/catalogo/categorias/1/articulos, me muesta el
siguiente error,


 Showing catalogo/articulos/index.html.erb where line #21 raised:

undefined method `catalogo_categoria_catalogo_articulo_path' for
#<ActionView::Base:0xb6ecf1ec>

Extracted source (around line #21):

18:     <td><%=h articulo.precio %></td>
19:     <td><%=h articulo.categoria.nombre %></td>
20:     <td><%=h articulo.nuevo %></td>
21:     <td><%= link_to 'Show', [@categoria, articulo] %></td>
22:     <td><%= link_to 'Edit', [:edit, @categoria, articulo] %></td>
23:     <td><%= link_to 'Destroy', [@categoria, articulo], :confirm =>
'Are you sure?', :method => :delete %></td>
24:   </tr>


aquí si que me perdí y ya no se ni por donde buscar, en google no he
encontrado nada de interes y cada cosa que intento hacer parece que lo
agraba más.

solo añadir que antes de hacer el translado a catalogo/ todo estaba
funcionando bien.

un saludo y gracias a todos,
Ancor Cruz.


Ancor Cruz wrote:
> Hola,
>
> finalmente me decidí a crearlo en un solo controlador, ahora mismo estoy
> en ello, la base estaba funcionando, pero me metí a moverlo a la carpeta
> catalogo siguiendo tus instrucciones y de momento todo funciona "bien"
> salvo que los datos introducidos en los formularios se pierden, por
> ejemplo intento hacer una modificiación, me dice que se hizo OK pero...
> esa modificación no se guarda, cuando intento crear un elemento nuevo me
> dice que el campo esta vacio.
>
> ¿que puede ser lo que esta ocurriendo?
>
>
> Jaime Iniesta wrote:
0e6c0ba9935b52866fd5c54dd886cf2e?d=identicon&s=25 Jaime Iniesta (Guest)
on 2008-03-05 21:06
(Received via mailing list)
El día 5/03/08, Ancor Cruz <ruby-forum-incoming@andreas-s.net> escribió:

> aquí si que me perdí y ya no se ni por donde buscar, en google no he
> encontrado nada de interes y cada cosa que intento hacer parece que lo
> agraba más.
>

Yo también me he perdido con tu caso... lo que creo es que con tanta
vuelta
que le has dado ya lo tienes un poco desordenado...

Mírate mi tutorial sobre recursos anidados [1] a ver si te aclara algo.

Lo que sí creo que te sobra es "/catalogo"... si sólo tienes artículos y
categorías deberías haber lanzado dos scaffolds, uno te responderá en
/articulos y otro en /categorias. Y si lo anidas, pues sería en plan...

/categorias/1/articulos

etc...

[1]
http://www.jaimeiniesta.com/2007/12/22/tutorial-re...
9ded653951b8ab8749ea3bf9de4a3fc0?d=identicon&s=25 Ancor Cruz (acruz)
on 2008-03-06 19:53
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:     <td><%=h articulo.precio %></td>
19:     <td><%=h articulo.categoria.nombre %></td>
20:     <td><%=h articulo.nuevo %></td>
21:     <td><%= link_to 'Show', [@categoria, articulo] %></td>
22:     <td><%= link_to 'Edit', [:edit, @categoria, articulo] %></td>
23:     <td><%= link_to 'Destroy', [@categoria, articulo], :confirm =>
'Are you sure?', :method => :delete %></td>
24:   </tr>

del que yo sobre entiendo que de esta linea,
21:     <td><%= link_to 'Show', [@categoria, articulo] %></td>

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 Iniesta [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:
<h1>Editing categoria</h1>

<%= error_messages_for :categoria %>

<% form_for(@categoria) do |f| %>
  <p>
    <b>Nombre</b><br />
    <%= f.text_field :nombre %>
  </p>

  <p>
    <%= f.submit "Update" %>
  </p>
<% 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 Cruz

[1] http://www.ruby-forum.com/topic/143878?reply_to=64...
[2]
http://www.jaimeiniesta.com/2007/12/22/tutorial-re...

Jaime Iniesta wrote:
0e6c0ba9935b52866fd5c54dd886cf2e?d=identicon&s=25 Jaime Iniesta (Guest)
on 2008-03-07 11:51
(Received via mailing list)
Hola Ancor...

El día 6/03/08, Ancor Cruz <ruby-forum-incoming@andreas-s.net> escribió:
> 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


En ese caso yo diría que lo mejor es usar namespaces, para definir que
el
acceso a las categorías ahora se hace a través de /catalogo (que no es
un
recurso en si mismo). Lo digo porque me suena parecido al tipico caso de
acceder a los recursos a través de /admin... Te pongo un ejemplo para
que
veas cómo cambian las rutas

# routes.rb
  map.namespace(:admin) do |admin|
    admin.resources :categorias
    admin.resources :articulos
  end

# app/views/admin/articulos/index.html.erb
<%= link_to 'Nuevo articulo', new_admin_articulo_path %>
<%= link_to 'Ver', admin_articulo_path(@articulo) %>
<%= link_to 'Modificar', edit_admin_articulo_path(@articulo) %>
<%= link_to 'Eliminar', admin_articulo_path(@articulo), :confirm =>
'¿Seguro?', :method => :delete %>


> por cierto Jaime http://www.nurbijou.com/ me parece un proyecto bien
> realizado y del que se puede aprender mucho.


Gracias, me alegro de que te guste... realmente es sencillo ese
proyecto. :)
9ded653951b8ab8749ea3bf9de4a3fc0?d=identicon&s=25 Ancor Cruz (acruz)
on 2008-03-07 21:28
Gracias por la respuesta,

esa parte ya la tenia "superada" ahora estaba bloqueado en que al
introducir los datos en un formulario para por ejemplo hacer una
actualizacion o dar de alta un nuevo articulo, los datos del formulario
se pierden.

como no daba con la solución, pues cree una nueva aplicacion, con un
solo controlador, usando scaffold Catalogo::Articulo y la lista de
campos, acondicione routes.rb para usar namespaces y fui corrigiendo los
errores que aparecieron en las vistas segun fui probando, que sobretodo
eran las rutas de la forma articulo_path tenian que ser
catalogo_articulo_path hasta que ya no aparecia ningun error, pero el
problema que describí arriba también se producía en este caso, (los
valores introducidos en los formularios en la creacion y actualizacion
se perdian por el camino).

encontre un post en el que comentabas usar namespaces para admin y como
es posible que pasaras por el mismo problema, ¿sabes como solucionar
esta perdida de valores?

PD: me acabo de quedar alucinando con un mensaje q salio al itentar
postear, como tenia escrito también sin tilde, me decia esto:
Your post seems to contain Spam: "ambién". (sin la tilde) y no me dejaba
postear.

Jaime Iniesta wrote:
This topic is locked and can not be replied to.