terça-feira, 13 de novembro de 2012

Adicionando e removendo ações de um roteamento REST em Rails

Dando continuidade ao estudo de roteamento com Rails introduzido no post anterior, vou mostrar como é possível adicionar ações a um roteamento REST, indo além das sete definidas por padrão, e também como fazer para remover alguma das operações padrão quando esta realmente não for necessária em sua aplicação.

segunda-feira, 12 de novembro de 2012

Roteamento de Resources em Rails

Rails Routing, traduzindo e explicando, é a forma como o framework Rails infere a rota até a ação de um controlador através da URL no browser e do método HTTP (GET, POST, PUT ou DELETE).
Conforme já mencionei no post sobre múltiplos bancos de dados, o Rails segue o padrão de convention over configuration. As convenções assumidas para o roteamento vão servir para a grande maioria dos casos, mas customizar o roteamento em sua aplicação é fácil e extremamente flexível.

sexta-feira, 9 de novembro de 2012

Filtrando associações em Rails

Alguns posts aqui no blog já exemplificaram como funcionam as associações na camada de modelo do Rails com ActiveRecord e como efetuar alguma pesquisa (query) a partir de algum modelo. Neste post vou demonstrar como combinar as duas coisas, efetuando filtros a partir de uma associação, usando tanto recurso de blocos quanto de mixins com módulos, também já abordados em posts anteriores.



Rails scope e default_scope (EDITADO)

Neste post pretendo demonstrar como é possível fazer uso de scope e default_scope na camada de modelo de aplicações em Rails de forma a centralizar regras de pesquisa sem violar outras camadas da aplicação e mantendo a simplicidade do código.

quinta-feira, 8 de novembro de 2012

Múltiplos Bancos de Dados com Rails

O Rails segue o conceito de convention over configuration que assume diversos padrões em vários aspectos das aplicações até que se defina o contrário. Por exemplo, o Rails assume que a aplicação será RESTful, ou seja, utilizará os métodos do protocolo HTTP para identificar os tipos de ações a serem executadas para cada requisição do cliente. Também assume que a aplicação será dividida em camadas seguindo o padrão MVC. E uma das convenções assume que você terá um banco de dados, com três ambientes: desenvolvimento, testes e produção.

quarta-feira, 7 de novembro de 2012

Auto-relacionamento Many-to-Many com Rails

Nas aplicações que a maioria de nós desenvolve, é relativamente comum ter auto-relacionamentos, em que uma entidade referencia ela mesma através de um ou mais atributos. Também é comum ter relacionamentos muitos-para-muitos (many-to-many), em que duas entidades podem ser referenciadas por um ou mais registros da outra. Porém, há uma terceira possibilidade, que são os auto-relacionamentos many-to-many, cujo primeiro exemplo que vem à mente é o das redes sociais, tão comuns hoje em dia, onde o perfil de uma pessoa pode possuir vários amigos, que na verdade são outros perfis também de pessoas que também possuem vários amigos e assim por diante, tudo em uma única entidade Pessoa. Na continuidade vou ilustrar as duas primeiras situações, mais comuns, e em seguida mostrar como a terceira situação pode ser implementada com o framework ActiveRecord, incluído por padrão no Rails.