问题 Ruby on Rails中的自定义格式


我正在Ruby on Rails中创建一个网站,用户可以使用RESTful身份验证登录。有人可以使用html,xml和json来获取特定用户,就像脚手架一样。但是我想再添加一种格式:vCard(例如/users/1.vcard)。这有一种特定的格式,但我如何定义自己的格式?使用视图,还是我必须使用其他方式?谢谢


6390
2018-03-13 15:28


起源



答案:


在你的 /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):

然后,在views文件夹中,将vCard模板放入show.vcard.erb文件中(例如)。


14
2018-03-13 16:10



谢谢,但我如何实际呈现它?使用视图?
是的,使用视图,例如show.vcard.erb - nanda
@nanda谢谢^^


答案:


在你的 /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):

然后,在views文件夹中,将vCard模板放入show.vcard.erb文件中(例如)。


14
2018-03-13 16:10



谢谢,但我如何实际呈现它?使用视图?
是的,使用视图,例如show.vcard.erb - nanda
@nanda谢谢^^