2010-09-26 9 views
37

Comencé a programar en ASP.NET MVC Framework hace un año. Recientemente. He aprendiendo Ruby on Rails marco Hay característica de "HTML personalizado ayudante" en ASP.NET MVC Así que puedo crear mi propia ayuda HTMLcrear ayudantes html personalizados en ruby ​​on rails

<%= Html.MyOwnHtmlHelper() %> 

he aprendido que hay ayudantes HTML en Ruby tales como

<% text_area %> 

que hacen que en html

tengo una pregunta. ¿Puedo crear mi propio helper html para renderizar mi propio html?

Respuesta

54

Para crear un nuevo ayudante:

  1. elegir un nombre para el archivo de ayuda, por ejemplo tags_helper.rb
  2. crear el archivo en el directorio/app/helpers
  3. crear un módulo de acuerdo al nombre del archivo. En este caso

    module TagsHelper 
    end 
    
  4. definir su ayudante como método

    module TagsHelper 
        def hello_world(name) 
        "hello #{name}" 
        end 
    end 
    

Ahora se puede utilizar el método hello_world ayudante en su punto de vista.

+1

¿Un helper HTML tiene que ser un Módulo? ¿Puede ser una clase? –

+0

Sé que esto es viejo pero: para usar el mecanismo integrado de rieles y tenerlo automáticamente disponible, tiene que ser un módulo en la carpeta 'helper' y posiblemente nombrado correctamente. Podrías usar un viejo objeto Ruby antiguo (una clase), y luego solo tienes que llamarlo con su nombre completo y '<% = HelloWorldHelper.new.hello_world_tag%>' pero el mecanismo Helper es más simple y es una convención, y solo llamarías a '<% = hello_world_tag%>' – Gal