JavaFree.org | RubyOnBr.org

Como salvar com a quebra de linha?

Acompanhar Como salvar com a quebra de linha? 5 posts, 2 participantes

Donkani Gygfil 47 posts

Olá todos.

No meu atends_controller a action new é assim:

def new
@atend= Atend.new
@client= Client.find(params[:id])
@procedures= Procedure.find(:all, :order=> ‘nome’).map{|p| [p.nome]}
end

Que exibirá um form com os nomes de todos os procedimentos cadastrados, tendo um
check_box ao lado de cada, permitindo a seleção de um ou varios
procedimentos, que serão enviados para o hash params assim:
bq.
“atend”=>{"client_id"=> “201”, “procedimentos”=> [ “Limpeza bicos
injeção”, “Polimento Pintura”, “Instalar Som” ]}

Preciso que ao salvar o atendimento, os procedimentos
selecionados sejam gravados na tabela atends(que tem o campo
‘procedimentos’[tipo text]), de modo que seja exibido apenas 1
em cada linha, simulando uma lista vertical:

Limpeza bicos injeção
Polimento Pintura
Instalar Som

Da forma que está, estão sendo gravados como se fosse uma frase única, assim:

Limpeza bicos injeçãoPolimento PinturaInstalar Som

Como fazer para salvar com a quebra de linha?

Grato pela ajuda.

 
Avatar nofxx 278 posts

Cara, vc ta fazendo totalmente errado. E digo na modelagem.

Vc tem q ter uma tabela intermediaria ae, que relacione atendimentos e procedimentos.

Voce vai gravar a ID do procedimento e nao o nome dele.

 
Donkani Gygfil 47 posts

Opa nofxx.

Agradeço pela sua ajuda. Vou tentar como sugeriu, mas resumindo, seria como gravar no banco(campo text), cada elemento de um array em linhas separadas.

O relacionamento dos models está assim:

Atend :belongs_to procedure
Procedure :has_many atends

Abraço.

 
Avatar nofxx 278 posts

Eu ainda acho que ta errado, faça mais uma tabela de relaciomanto e use :throught => tabela.

Mas, se vc qr de qualquer jeito fazer na gambi e sofrer depois, tem o serialize, do AR.
Ele joga o objeto como texto e depois vc recupera como array.

Novamente, gambi, feio. Viu? Vc eh feio! Ninguém vai qrer brincar com você! =P

 
Avatar nofxx 278 posts

Sacou?

Procedura has_many atends :through => intermediaria

Atend has_many procedures, through => intermediaria

Intermediaria tem atend_id e procedure_id