Пользовательские форматы в Ruby on Rails - PullRequest
11 голосов
/ 13 марта 2010

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

1 Ответ

14 голосов
/ 13 марта 2010

В вашем файле / 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 (например).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...