2010-03-13 9 views
11

Tworzę witrynę w Ruby on Rails, gdzie użytkownicy mogą logować się przy pomocy RESTful Authentication. Ktoś może uzyskać określonego użytkownika przy użyciu html, xml i json, tak jak w przypadku rusztowań. Ale chcę dodać jeszcze jeden format: vCard (np. /users/1.vcard). Ma to określony format, ale jak zdefiniować własne formaty? Używasz widoków, czy muszę użyć innego sposobu? DziękiNiestandardowe formaty w Ruby on Rails

Odpowiedz

14

W pliku /config/initializers/mime_types.rb dodaj nową rejestrację dla swojego formatu. Powinno to wyglądać mniej więcej tak:

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

Po tym okresie (musisz ponownie uruchomić aplikację, aby podnieść zmiany), można odpowiedzieć na symbol niczym innym formacie:

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

Dodawanie z komentarzy (dzięki nanda):

W folderze z widokami, umieścisz szablon vCard w pliku show.vcard.erb (na przykład).

+0

Dzięki, ale w jaki sposób mogę je renderować? Korzystasz z widoku? –

+3

Tak, używając widoku, coś w stylu show.vcard.erb – nanda

+1

@nanda thanks ^^ –