Restful  XML
Índice dos Fóruns » Ruby & Ruby on Rails
Autor Mensagem
romulosb
Debugger
[Avatar]

Membro desde: 18/11/2009 23:01:38
Mensagens: 50
Offline

Galera, tenho estudado rails, e estou tentando abstrair o conceito de restfull e da lógica de negócios do model.
Para estudo, resolvi desenvolver um sistema ficticio de comprar, no estilo do mercado livre, ebay, etc?
Pois bem: Tenho três entidades: CategoriaProduto, SubCategoriaProduto e Produto.
Minha dúvida é na hora de criar um produto. Quero que o usuário clic em uma categoria, logo depois apareca todas as subcategorias para ele escolher, e depois a tela de cadastro do produto. Como ficaria essa organização a nível de controller?
No java eu criaria métodos para ir setando essas características no objeto Produto. Mas como rest diz que deve-se ter apenas as actions básicas, não consegui enchergar como fazer isso.

Agradeço desde já.
DEAD
JavaTeenager
[Avatar]
Membro desde: 15/02/2007 12:32:27
Mensagens: 151
Offline

Abaixo você pode estudar um pouco mais do MVC em ação em conjunto com os Routes do Rails. O que te dará uma noção sobre como mapear os recursos para usar em conjunto com o REST.
http://ruby.railstutorial.org/chapters/a-demo-app#sec:mvc_in_action

No Rails você teria um modelo individual para cada uma das classes que você disse(CategoriaProduto, SubCategoriaProduto e Produto).
Acredito que seus modelos ficariam mais ou menos assim:
CategoriaProduto(model):
https://gist.github.com/1263015

SubCategoriaProduto(model):
https://gist.github.com/1263021

Produto(model):
https://gist.github.com/1263038

Enquanto ao seu controller, você pode criar um controller para popular os dados independente dos models. Quando você não utiliza o Scaffold você pode mapear seus recursos de uma maneira mais flexível.
Eu utilizaria esse cadastro no controller de Produto(pois você estará fazendo um cadastro de produto, e você já terá suas SubCategorias e Categorias com dados pré populados). Dai é só fazer as validações na view para ir mostrando os items assim que você for escolhendo(no seu caso escolher uma Categoria em um drop-box ou via ajax, liberar a SubCategoria para ser buscada, depois isso liberar a partial contendo o cadastro de Produtos para ser populado).
Ex:

Retornaria todas as categorias de um determinado produto, ou de todos os produtos, dependendo de qual função foi chamada antes(CategoriaProdutos.all ou CategoriaProdutos.find(params[:id])).
O segredo aqui está mais em entender os models do que o controller em si.



[WWW]
 
Índice dos Fóruns » Ruby & Ruby on Rails
Ir para:   
Powered by JForum 2.1.8 © JForum Team