2010-03-13 5 views
11

Je crée un site Web dans Ruby on Rails, où les utilisateurs peuvent se connecter à l'aide de l'authentification RESTful. Quelqu'un peut obtenir un utilisateur spécifique en utilisant html, xml et json, tout comme l'échafaudage. Mais je veux ajouter un autre format: vCard (par exemple /users/1.vcard). Cela a un format spécifique, mais comment puis-je définir mes propres formats? Utiliser des vues, ou dois-je utiliser une autre manière? MerciFormats personnalisés dans Ruby on Rails

Répondre

14

Dans votre fichier /config/initializers/mime_types.rb, ajoutez un nouvel enregistrement pour votre format. Il devrait ressembler à ceci:

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

Après cela (vous devrez redémarrer votre application pour ramasser le changement), vous pouvez répondre au symbole comme tout autre format:

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

Ajout de commentaires (merci nanda):

Dans votre dossier Views, vous devez alors placer le modèle vCard dans un fichier show.vcard.erb (par exemple).

+0

Merci, mais comment puis-je le rendre? En utilisant une vue? –

+3

Oui, en utilisant une vue, quelque chose comme show.vcard.erb – nanda

+1

@nanda merci ^^ –