2010-03-13 14 views
11

Estoy creando un sitio web en Ruby on Rails, donde los usuarios pueden iniciar sesión utilizando la Autenticación REST. Alguien puede obtener un usuario específico usando html, xml y json, al igual que andamios. Pero quiero agregar un formato más: vCard (por ejemplo, /users/1.vcard). Esto tiene un formato específico, pero ¿cómo puedo definir mis propios formatos? ¿Usar vistas, o debo usar otra forma? GraciasFormatos personalizados en Ruby on Rails

Respuesta

14

En su archivo /config/initializers/mime_types.rb, agregue un nuevo registro para su formato. Debe ser algo como esto:

Mime::Type.register "text/x-vcard", :vcard #The :vcard is the important part 

Después de eso (que tendrá que reiniciar su aplicación para recoger el cambio), puede responder al símbolo como cualquier otro formato:

# then in your controller action 
def show 
    respond_to do |format| 
    format.html # render html 
    format.vcard { #render vcard } 
    end 
end 

Agregando de los comentarios (gracias nanda):

En su carpeta de vistas, entonces, pondría la plantilla vCard en un archivo show.vcard.erb (por ejemplo).

+0

Gracias, pero ¿cómo puedo renderizarlo? Usando una vista? –

+3

Sí, usando una vista, algo así como show.vcard.erb – nanda

+1

@nanda thanks ^^ –