Es al pedo lo que hice !!.... se puede accerder al objecto del form builde
con f.object.... con solo hacer

f.object.name
Imprimo el valor de la propiedad del objeto que esta asociado al form...
No lo sabia me fui por el camino mas largo

Aprendiendo !! :)

Pablo Rodriguez


El 26 de agosto de 2010 18:31, Pablo Rodriguez
<[email protected]>escribió:

>  Ok.... encontre como hacerlo
>
> cree un nuevo FormBuilder
>
> class *LabelFormBuilder *< ActionView::Helpers::FormBuilder
>
>   def *text_label*(field,*args)
>       @template.content_tag(:label,@object.send(field))
>   end
>
> end
>
> Luego en el haml puse
>
>  - mst_form.fields_for(:material,:builder => *LabelFormBuilder*) do
> |m_form|
>         = m_form.text_label :detail
>
> Es correcto hacer esto ? o hay otra forma estandar de hacer esto ? me
> sorprende que el FormBuilder no tenga un metodo que implemente esto, o yo no
> lo encontre..
>
> Saludos
>
> Pablo Rodriguez
>
>
> El 26 de agosto de 2010 10:21, Pablo Rodriguez <pablorodriguez.ar@
> gmail.com> escribió:
>
> Paso el código que tengo para aclarar lo que necesito, es un form edit de
>> un objeto *work_order* que tiene una lista de *service*,
>>
>>   #work_order
>>     #work_order_form
>>       -form_for *...@work_order* do |wo_form|
>>         #services.service_table
>>           %table.service_table
>>             %tr
>>               %td.header_text_lable
>>                 Orden de Trabajo: Estado
>>                 = wo_form.select
>> :status,WorkordersController::STATUS,:selected =>@work_order.status
>>           #services_list
>>             -wo_form.fields_for *:services* do |s_form|    --> aca itero
>> por la lista de servicios que tiene la @work_order, *dentro de ese
>> fields_for estoy parado en un elemento de la lista de services*
>>             %table.service_table
>>               %tr
>>                 %td.table_header{:colspan=>4}
>>                   %label{:id=>"serviceType"}
>>                   = s_form.hidden_field
>> :service_type_id,:class=>:service_type_id
>>                   - s_form.fields_for *:service_type* do |st_form| -->
>> aca entro el tipo de servicio, y quiero mostrar el nombre del servicio
>>                     =* st_form.text_field :name*,:class=>"header_text_lable"
>> *--> lo que hice es un input text con un css que le saca los bords y lo
>> pone en disabled. Pero lo que quiero es mostrar un <label> con el nombre del
>> servicio y no con un input text, necesito acceder al objeto que esta usando
>> el form builder en st_form*.
>>                   = s_form.hidden_field :_destroy
>>
>>                   = link_to_remove_fields f,:services
>>               %tr
>>                 %td
>>                 %td Material
>>                 %td Cantidad
>>                 %td Precio
>>               - s_form.fields_for :material_services do |ms_form|
>>                 =render "material_service_fields",:f => ms_form
>>
>>         =wo_form.submit "Grabar"
>>
>>
>> Pablo Rodriguez
>>
>>
>> El 25 de agosto de 2010 23:12, Matt's <[email protected]> escribió:
>>
>> Para mostrar el valor de cualquier objeto es asi:
>>> <%= objeto.atributo%>
>>>
>>> tambien podes salvar la excepcion si el valor te viene nullo
>>>
>>> <%= objeto.atributo.blank? ? ' - ' : objeto.atributo%>
>>>
>>> espero te sirva, es mi primer aporte a esta lista. Espero que no sea el
>>> unico nomas
>>>
>>> Matt's
>>>
>>>
>>> 2010/8/25 Pablo Rodriguez <[email protected]>
>>>
>>>> Tengo un formulario algo como
>>>>
>>>>
>>>>         - f.fields_for :service_type do |st_form|
>>>>           = st_form.text_field :name
>>>>         = f.hidden_field :_destroy
>>>>         = link_to_remove_fields f,:services
>>>>
>>>> st_form es un form builder, lo que necesito es mostrar un valor  del
>>>> objeto service_type, pero como un label no como un input text.
>>>> Quiero mostrar el nombre del service_type, service_type, no encuentro la
>>>> forma de hacer algo como
>>>>    = f.lable :service_type.name
>>>> para que me muestre el nombre del tipo de servicio..
>>>> solo lo he podido hacer como
>>>>
>>>>    = f.text_field :name
>>>>
>>>> pero eso me crea un input text..
>>>>
>>>> Es medio choto pero no lo encuenro..
>>>>
>>>> Muchas gracias por la ayuda
>>>>
>>>> Pablo Rodriguez
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Ruby mailing list
>>>> [email protected]
>>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Ruby mailing list
>>> [email protected]
>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>>>
>>>
>>
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a