07
Fev 09

Propriedade float: A propriedade float determina onde uma imagem ou texto irá aparecer dentro de outro elemento.


Valor

Descrição

left A imagem ou texto aparece à esquerda dentro do elemento pai.
right A imagem ou texto aparece à direita dentro do elemento pai.
none Padrão. A imagem ou texto será exibida justamente onde ocorre dentro do elemento pai.


Propriedade margin: A propriedade margin define o espaço ao redor dos elementos (o espaço da margem não faz parte do elemento).

 

Propriedade Descrição Valores
margin

Permite definir todas as propriedades de margem em apenas uma linha.

Ex: margin 0 auto 0 auto;

margin-top
margin-right
margin-bottom
margin-left

margin-bottom

Define a margem inferior de um elemento auto
length
%

margin-left

Define a margem esquerda de um elemento. auto
length
%

margin-right

Define a margem direita de um elemento. auto
length
%
margin-top Define a margem superior de um elemento. auto
length
%

 

Propriedade padding: A propriedade padding define o espaço entre a borda do elemento e o conteúdo do elemento (esse espaço faz parte do elemento).

 

Propriedade Descrição Valores
padding Permite definir todas as propriedades paddings em apenas uma linha. padding-top
padding-right
padding-bottom
padding-left

padding-bottom

Define o espaçamento inferior de um elemento. length
%

padding-left

Define o espaçamento esquerdo de um elemento. length
%

padding-right

Define o espaçamento direito de um elemento. length
%
padding-top Define o espaçamento superior de um elemento. length
%
publicado por dessa às 17:53
tags:

02
Fev 09
  • O problema: Fazer um relacionamento entre links, tags e users.
  • Um usuário possui vários links e um link pertence a vários usuários. Os links (urls) não podem ser duplicados no banco.
  • Um usuário associa várias tags aos seus links e uma tag pertence a vários usuários.
  • Detalhe: se o link dessaonrails.blogs.sapo.pt possui as tags rails e ruby, eu preciso saber exatamente qual usuário salvou a tag rails e ruby.

Inicialmente, imaginamos uma tabela tripla, com user_id, link_id e tag_id. Parti deste princípio e tenter montar um relacionamento que me permitisse utilizar a tabela tripla. A solução adotada foi baseada na solução proposta neste blog e pode ser vista nesta discussão. Porém, a coisa não tava muito boa.

Dai hoje, 2h da matina (imaginem, eu tinha aula as 7h), estava eu pensando em uns before_save e before_destroy que queria fazer na aplicação. Mas tudo que eu pensava não encaixava.. Tipo não tinha lógica e tudo que tava feito começou a me parecer gambiarra feiaaa. O relacionamento simplesmente não tava deixando a energia (programação) do troço fluir naturalmente.

Aííí (calma, já já chego na solução), eis que comecei a pensar novamente, escrever algumas coisas no papel e de repente vejo que escrevi "nossa vei, não acredito". Eu tinha descoberto um jeito muito mais correto, muito mais bonito e muito mais banal de simples de fazer aquela complicação toda! Não acreditei! É muito simples, muitoo! Segue:

Partindo do principio de que cada link possui detalhes nos quais cada usuário pode escrever o que quiser (como titulo, descrição, etc), então um detalhe de link diz respeito somente a um link e a um usuário (entao ele é a tabela de relacionamento users_links mais alguns campos desse relacionamento!). Para facilitar, chamei esse "detalhe" de bookmark e tudo ficou muito simples, muito banal e - como diria um professor meu - ficou absurdamente retardadoooooo de banal de fácil (sim, ainda estou chocada):

user has_many links through bookmarks
user has many bookmarks
(usuario pode salvar varios detalhes de links)

link has many bookmarks
(um mesmo link possui varios detalhes diferentes, cada um salvo por um user)

link has many users through bookmaks

bookmark belongs to user
bookmark belongs to link


Para incluir as tags eu ainda vou dar uma olhada do act_as_taggable, mas poderia adicionar assim:

bookmark has and belongs to many tags (o link salvo pelo usuario possui varias tags)
tag has and belongs to many bookmarks
(uma tag pode aparecer em varios bookmarks diferentes)

e o resultado em tabelas seria:

users, links, bookmarks (com user_id e link_id), bookmarks_tags, tags.

* sempre que um usuario for salvar um link ele cria um bookmark. *

Ufa.

publicado por dessa às 14:22

Fevereiro 2009
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5
6
7

8
9
10
11
12
13
14

15
16
17
18
19
20
21

22
23
24
25
26
27
28


subscrever feeds
pesquisar
 
Subscrever por e-mail

A subscrição é anónima e gera, no máximo, um e-mail por dia.

blogs SAPO