使用默认路由,request/posts /:id将映射到"show"操作:format => "html".我在show动作中使用了一些xhtml元素,除非将:content_type设置为xml,否则这些元素无法正确呈现.我目前通过渲染show.xml.erb并手动设置content_type来解决这个问题,如下所示:
format.html { render :template => "/posts/show.xml.erb",
:locals => {:post => @post}, :content_type => "text/xml" }
Run Code Online (Sandbox Code Playgroud)
这看起来很傻.我如何更改routes.rb以便/ posts /:id被路由format=>"xml"?谢谢.