Пользовательские форматы в Ruby on Rails

Я создаю веб-сайт в Ruby on Rails, где пользователи могут войти в систему, используя RESTful Authentication. Кто-то может получить конкретного пользователя, использующего html, xml и json, как и строительные леса. Но я хочу добавить еще один формат: vCard (например,/users/1.vcard). У этого есть определенный формат, но как я могу определить свои собственные форматы? Использовать представления или использовать другой способ? Благодаря

Ответ 1

В файле /config/initializers/mime_types.rb добавьте новую регистрацию для своего формата. Он должен выглядеть примерно так:

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

После этого (вам нужно будет перезапустить приложение, чтобы получить изменения), вы можете ответить на символ, как в любом другом формате:

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

Добавление комментариев (спасибо nanda):

В вашей папке просмотра вы должны поместить шаблон vCard в файл show.vcard.erb(например).