Ruby on Rails中的自定义格式

时间:2010-03-13 15:28:53

标签: ruby-on-rails formatting

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

1 个答案:

答案 0 :(得分:14)

/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文件中(例如)。