Posts Tagged ‘padrão’

Ruby on Rails Paperclip como definir uma imagem padrão quando o usuário não fez upload da imagem

Postado em 23 jun 2009
Categoria(s) Ruby on Rails

Para definir uma imagem padrão de exibição, quando o usuário não fizer o upload de uma imagem, você deve usar a opção :default_url do Paperclip.

Por exemplo, digamos que você deseja exibir a imagem abaixo, quando o usuário não definiu uma foto no seu profile.

No Picture

Exemplo de configuração do Paperclip:

1
2
3
4
5
has_attached_file :picture,
                    :styles => {:thumb => '50x50#'},
                    :path => ":rails_root/public/images/pictures/:id/:style_:basename.:extension",
                    :url => "/images/pictures/:id/:style_:basename.:extension",
                    :default_url => "/images/no_pictures/:style/missing.png"

A linha abaixo, diz para o Paperclip procurar uma imagem padrão no diretório /images/no_pictures/:style/missing.png, onde :style é o tamanho do resize da imagem, nesse exemplo thumb:

...
:default_url => "/images/no_pictures/:style/missing.png"
...

Desta forma você precisa criar o diretório /images/no_pictures/thumb/ e colocar a imagem missing.png lá.

Quando você usar:

1
<%= image_tag(user.picture.url(:thumb), :alt => user.full_name) %>

Caso a imagem não exista o Paperclip usará a imagem padrão de exibição /images/no_pictures/thumb/missing.png

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

A Falta de padronização dos retornos dos métodos de consulta do ORM Doctrine são irritantes

Postado em 05 dez 2008
Categoria(s) Doctrine

A Falta de padronização dos retornos dos métodos de consulta do Doctrine são irritantes, no ORM Doctrine as consultas realizadas com Doctrine_Query e o método findByDql retornam valores diferentes.

O Doctrine_Query retorna false, caso não satisfaça a condição where, já o método findByDql retorna um array vazio.

Essa falta de padronização é muito ruim.

Por exemplo:

1
2
3
4
$q = new Doctrine_Query();
$q->from('Status')->where('name = ?', 'exemplo');
$r = $q->execute();
var_dump($r);

Essa forma de consulta retorna false, caso name = ‘exemplo’ não exista. Eu acho esse retorno correto, ou null.

Mas o método findByDql tem um retorno fora de padrão, retornando um array vazio.

Por exemplo:

1
2
$status = Doctrine::getTable('Status')->findByDql("name = 'exemplo'");
var_dump($status);

O ruim é ter que usar essas tecnologias despadronizadas. :-(
Mais um ponto negativo para o Doctrine.

  • Share/Bookmark