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
<[email protected]>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