在Rails中添加自定义格式(将与respond_to一起使用)

Tom*_*man 18 rest markdown ruby-on-rails

我有map.resources :posts,我希望能够以降价格式提供邮寄机构.所以我设置了我的respond_to块:

respond_to do |format|
  format.markdown {
    render :text => @post.body.to_s
  }
end
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问时/posts/1234.markdown,我收到此错误:

NameError (uninitialized constant Mime::MARKDOWN):
  app/controllers/posts_controller.rb:96:in `show'
  app/controllers/posts_controller.rb:79:in `show'
Run Code Online (Sandbox Code Playgroud)

如何将降价添加为可接受的格式?我在哪里可以看到可接受格式的列表?

cly*_*yfe 35

http://weblog.rubyonrails.org/2006/12/19/using-custom-mime-types

# add in config/initializers/mime_types.rb
Mime::Type.register "text/markdown", :markdown
Run Code Online (Sandbox Code Playgroud)

  • 可能`config/initializers/mime_types.rb`可能是注册新MIME类型的合适位置. (27认同)
  • 该链接实际上已被破坏.你可以在http://weblog.rubyonrails.org/2006/12/18/using-custom-mime-types/找到这篇文章. (2认同)
  • @HarishShetty的评论是这个答案的重要部分.请更新你的答案 - 当前的文档建议`config/initializers/mime_types.rb` - http://guides.rubyonrails.org/action_controller_overview.html#restful-downloads (2认同)