Dúvida com rota

0 views
Skip to first unread message

bpfg_s...@yahoo.com.br

unread,
Dec 24, 2009, 7:21:04 AM12/24/09
to rails-br
Bom dia galera, estou com uma pequena dúviida.

Tenho estudado rotas e gostei bastante da característica
de recursos aninhados. Mas, ainda não enxerguei uma forma
de criar o tipo de rota que vou citar abaixo: (perdoem minha
ignorância)

Por exemplo, tenho uma loja virtual, com várias categorias e
subcategorias.
O relacionamento entre as categorias e os produtos é de NxN,
e gostaria de que fosse mostrado o nome da categoria/
subcategoria/:id_do_produto,
tipo: "http://localhost:3000/informatica/notebooks/203"

Alguém poderia me dar um caminho?

Agradeço, e Feliz Natal!! ^^

Beto.

Maurício Linhares

unread,
Dec 24, 2009, 7:25:21 AM12/24/09
to rail...@googlegroups.com
Categorias tem apenas um subnível?

Se tiver apenas um, poderia ficar assim:

map.produto_com_categoria '/:categoria/:subcategoria/:id', :controller
=> 'produtos', :action => 'show'

E na hora de chamar:

produto_com_categoria_path( @categoria.nome, @subcategoria.nome, @produto )

-
Maurício Linhares
http://codeshooter.wordpress.com/ | http://twitter.com/mauriciojr

2009/12/24 bpfg_s...@yahoo.com.br <bpfg_s...@yahoo.com.br>:

> --
>
> Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para rails-br+u...@googlegroups.com.
> Para obter mais opções, visite esse grupo em http://groups.google.com/group/rails-br?hl=pt-BR.
>
>
>

bpfg_s...@yahoo.com.br

unread,
Dec 24, 2009, 7:51:15 AM12/24/09
to rails-br
Olá Maurício.

No momento eu estou pensando em apenas um subnível.

Mas caso fossem subníveis dinâmicos, ou seja, um número
indefinido de subníveis, como poderia fazer??

Sua resposta já me serviu, muito obrigado. =]

A outra dúvida é só por curiosidade.

Abraços,
Beto.

Maurício Linhares

unread,
Dec 24, 2009, 7:52:57 AM12/24/09
to rail...@googlegroups.com
Rapaz, com subníveis dinâmicos, eu realmente não sei como fazer,
porque as rotas do Rails são estáticas (ie. você tem que definir todos
os parâmetros antes).

Nunca me aprofundei pra ver como deixar isso dinâmico não.

2009/12/24 bpfg_s...@yahoo.com.br <bpfg_s...@yahoo.com.br>:

bpfg_s...@yahoo.com.br

unread,
Dec 24, 2009, 8:01:24 AM12/24/09
to rails-br
Realmente, como tem que definir as rotas antes,
deve ser complicado de arrumar um jeito de
fazer rotas dinâmicas.

De qualquer forma, obrigado pela ajuda, sua resposta
acima já me serve.

Abraços,
Beto

Wilker

unread,
Dec 24, 2009, 8:54:57 AM12/24/09
to rail...@googlegroups.com
Tem como sim, voce pode usar o wildcard * na rota, ficaria algo do tipo:

map.connect 'produtos/*other', :controller => :products, :action => :show

dessa forma, as categorias chegarão como um array (params[:other]) para a action, assim voce pode ler todos eles, e nesse exemplo ele p ega qtos vc quizer (a esquerda a url, a direita o array contido em params[:other]:

produtos => []
produtos/20 => ["20"]
produtos/categoria/20 => ["categoria", "20"]
produtos/categoria/sub/sub2/20 ["categoria", "sub", "sub2", "20"]
...

Assim você pode tratar isso e usar como quizer ;)

É recomendável que você leia o guide de rotas no Ruby on Rails Guides. Tem o ingles (que eu recomendo): guides.rubyonrails.org
Mas também tem em portugues: http://guias.rubyonrails.pro.br/

---
Wilker Lúcio
Gerente de Tecnologia
Caju Agência Digital
http://www.caju.nu
+55 81 87417674



Abraços,
Beto

bpfg_s...@yahoo.com.br

unread,
Dec 25, 2009, 7:27:37 PM12/25/09
to rails-br
Olá Wilker,

valeu pela dica.

Vou dar uma estudada nesses wildcards

^^

Abraços,
Beto

Reply all
Reply to author
Forward
0 new messages