Dica rápida para sobrescrever atributos do ActiveRecord no Rails 2.3:
Com esse exemplo, quando o name de um User for recuperado, ele irá capitalizar o nome. E quando for definir o name, ele iá transformar o texto para minusculas.
ruby, rails, linux, php, seo and ui
Dica rápida para sobrescrever atributos do ActiveRecord no Rails 2.3:
Com esse exemplo, quando o name de um User for recuperado, ele irá capitalizar o nome. E quando for definir o name, ele iá transformar o texto para minusculas.
Quando vamos criar uma aplicação Rails, normalmente executamos uma série de passos (instalação de plugins, gems, controllers, etc.) iguais. Por que não automatizar esse processo?
Usando o ótimo guia escrito pelo Nando Vieira sobre Rails Application Templates, escrevi o meu primeiro template:
Para usar o template, basta chama-lo durante a criação da aplicação com o parametro -m:
Esse template é bem simples e faz apenas o que eu uso sempre em todas as aplicações:
Pode melhorar esse script? Faça um fork no Github
Comentei há alguns dias atrás no Twitter sobre um plugin para Rails que instalei na aplicação que desenvolvemos na Tecmedia: o asset_packager.
O objetivo deste plugin é reduzir o número de requisições e o tamanho dos assets(arquivos javascript e css) em aplicações Rails. Como a maioria das soluções, é quase mágico:
script/plugin install git://github.com/sbecker/asset_packager.git
Gere o arquivo .yml com os assets a serem unificados e comprimidos:
rake asset:packager:create_yml
Ele irá gerar uma estrutura semelhante a essa no arquivo config/asset_packages.yml, já com os assets que estão configurados no seu projeto:
--- javascripts: - base: - prototype - effects - controls - dragdrop - application stylesheets: - base: - screen - header
E no seu layout, basta remover as chamadas antigas e colocar apenas:
<%= stylesheet_link_merged :base %> <%= javascript_include_merged :base %>
Ele ainda tem a
Uma funcionalidade interessante do Rails que descobri através do RubyFlow foi o delegate.
No exemplo simples abaixo, mostra como mapear atributos de um model em outro.
E o que isso faz? Olhe abaixo:
Os atributos que foram declarados com delegate passam a responder como atributos do model Customer.