observe_field + partial +locals

7 views
Skip to first unread message

Julianog12

unread,
Nov 18, 2009, 5:09:27 AM11/18/09
to rails-br
pessoal bom dia,

estou tendo uma grande dificuldade em passar meu form_builder para a
partial;

view
<%= observe_field "thelpdesk_ocorrencia_usuario", :url => { :action
=> 'carrega_centroc'},
:update => 'centro_custo',
:with => "'usuario='+value",
:on => 'change'
%>

<tr>
<th><%= f.label :centro_custo %></th>
<td><div id="insere_centro_custo"><%= render :partial =>
'campo_centro_custo', :object => @centrocustos , :locals => {:f => f}
%></div> </td>
</tr>

reparem que na view estou passando :locals => {:f => f}.



controller:
def carrega_centroc
@centrocustos = CentroCusto.find(:all,
:joins =>
"INNER JOIN usuario_centro "+

" on usuario_centro.centro_custo = centro_c.centro_custo "+

"and usuario_centro.usuario = '#{params[:usuario]}'",
:select =>
"centro_c.centro_custo, centro_c.descricao")

render :update do |page|
page.replace_html "insere_centro_custo", :partial =>
"campo_centro_custo", :object => @centrocustos
end

end
reparem que não estou passando :locals => {:f => f}, pois não tenho o
form_builder aqui no controller.

partial
<%= f.collection_select(nil,:centro_custo,
@centrocustos, :centro_custo, :descricao, {:prompt => ""} ) %>


preciso passar o form_builder para a partial, pois se não passar, na
hora da gravação o campo centro de custo não é gravado!!!.

Tipo assim, se na partial colocar assim:
<%= collection_select(nil,:centro_custo,
@centrocustos, :centro_custo, :descricao, {:prompt => ""} ) %>

sem o f na frente do collection_select, e na view onde esta esta linha
<td><div id="insere_centro_custo"><%= render :partial =>
'campo_centro_custo', :object => @centrocustos , :locals => {:f => f}
%></div> </td> tirar o :locas => {:f => f}

funciona na boa, só que dae na hora da gravação o campo centro de
custo não é gravado!!!


alguém tem uma solução para isto?

Julianog12

unread,
Nov 18, 2009, 6:12:18 AM11/18/09
to rails-br
ninguém para dar um help ae?

Julianog12

unread,
Nov 18, 2009, 7:24:37 AM11/18/09
to rails-br
pessoal, alguém pra me dar um help ae?

Douglas Campos

unread,
Nov 18, 2009, 7:35:19 AM11/18/09
to rail...@googlegroups.com
Cara, não adianta ficar mandando um monte de emails! Lembra que nem
todo mundo está na frente do computador como vc, ou não chegaram no
trampo, ou não sabem como ajudar neste caso (eu por exemplo).

2009/11/18 Julianog12 <julia...@hotmail.com>:
--
Douglas Campos (qmx)
+55 11 7626 5959

Julianog12

unread,
Nov 18, 2009, 7:40:49 AM11/18/09
to rails-br
flw, brigadão Douglas

On 18 nov, 10:35, Douglas Campos <doug...@theros.info> wrote:
> Cara, não adianta ficar mandando um monte de emails! Lembra que nem
> todo mundo está na frente do computador como vc, ou não chegaram no
> trampo, ou não sabem como ajudar neste caso (eu por exemplo).
>
> 2009/11/18 Julianog12 <juliano...@hotmail.com>:

Bruno Azisaka Maciel

unread,
Nov 18, 2009, 8:09:34 AM11/18/09
to rail...@googlegroups.com
Como você quer que funcione isso?

Acho que você fez uma salada que provavelmente não era necessária :)
abraço,
Bruno Azisaka Maciel

Julianog12

unread,
Nov 18, 2009, 8:12:11 AM11/18/09
to rails-br
Bruno, tens idéia de como isto ficaria então?
Sou novo em RubyOnRails!!

Abraços

Bruno Azisaka Maciel

unread,
Nov 18, 2009, 8:15:07 AM11/18/09
to rail...@googlegroups.com
Fala o que você quer fazer, que acho que fica mais fácil de dizer como
poderia ser feito. Sinceramente, se fosse você, ignoraria um pouco o
que muitos chamam de "jeito Rails de fazer" e pensaria em uma forma de
fazer diretamente com javascript e usando respostas do Rails.
abraço,
Bruno Azisaka Maciel

Julianog12

unread,
Nov 18, 2009, 8:25:36 AM11/18/09
to rails-br
Na verdade Bruno, tenho um campo Usuario(Combobox) que ao selecionar
ele, popula outro combobox(centro_custo) com os centro de custos
dele..

Bruno Azisaka Maciel

unread,
Nov 18, 2009, 8:37:48 AM11/18/09
to rail...@googlegroups.com
Se souber javascript fica mais fácil criar em javascript algo para
pegar o evento onchange do select box, então você cria uma action no
controller que renderiza só o select box com os centros de custo.

Essa renderização você substitui no seu HTML e pronto. Não precisa de
observe_field e essas coisas que só complicam.
abraço,
Bruno Azisaka Maciel

Julianog12

unread,
Nov 18, 2009, 8:51:57 AM11/18/09
to rails-br
bom, não conheço muito bem javascript, e na verdade acho muito fácil
fazer em rails,
apenas estou tendo a dificuldade de passar o form_builder do
controller para o meu partials..


flw

Bruno Azisaka Maciel

unread,
Nov 18, 2009, 9:02:00 AM11/18/09
to rail...@googlegroups.com
Aí fica difícil. Procura a solução com javascript puro que vai
simplificar seu trabalho.
abraço,
Bruno Azisaka Maciel

Julianog12

unread,
Nov 18, 2009, 9:08:21 AM11/18/09
to rails-br
blz Bruno, obrigadão pela dica
Reply all
Reply to author
Forward
0 new messages