wry*_*str 6 ruby-on-rails render file plaintext
如何在rails中将文件呈现为普通/文本(不呈现任何HTML)?
我试过了:
render file: "path/to/file", layout: false
Run Code Online (Sandbox Code Playgroud)
和
render file: "path/to/file", content_type: 'text/plain'
Run Code Online (Sandbox Code Playgroud)
两者都是
render file: "path/to/file", layout: false, content_type: 'text/plain'
Run Code Online (Sandbox Code Playgroud)
但是仍然有一些回复的HTML.
我正在使用rails 3.2.14和ruby 1.9.3
提前致谢.
编辑1:
傻我,这实际上有效:
render file: "path/to/file", layout: false, content_type: 'text/plain'
Run Code Online (Sandbox Code Playgroud)
我正在使用谷歌浏览器检查元素,因此会出现一个html标记.但是当我看到源代码时,没有HTML标记.
我试图渲染的文件是一个没有扩展名的自定义文件,它是一个制表符分隔值,我用作d3.tsv()中的参数(D3.js)
谢谢大家的努力.:d
编辑2:
在编辑1中,我检查了响应,它确实没有任何html标记.但是在d3.tsv()(D3.js)中使用它作为参数显然不起作用.很高兴我想答案从JetAbe和它的作品!所以我接受了JetAbe的回答.
Rails 4.1现在公开了该render
方法的以下API :
render :plain will set the content type to text/plain
render :html will set the content type to text/html
render :body will not set the content type header.
事实上,他们将在未来的版本中弃用render: text
.