我有一个要求,我尝试使用渲染通过控制器渲染文件。我不希望rails引擎解释呈现的文件。这可能吗?
即
在我的控制器中我给出了:
render :file => "<file-path>/abc.txt"
并且文件abc.txt具有以下内容:
<% if (1)
Just a piece of code
%>
现在当流程到达渲染时,rails引擎会尝试解释该文件并为未使用的if子句抛出错误。我只想显示文件的内容而不解释它。我试过将content_type设置为“text”而没有运气。
任何帮助都将不胜感激。
答案 0 :(得分:1)
试试这个:
render text: File.open("<file-path>/abc.txt").read
答案 1 :(得分:0)
Marek答案很好,但请确保检查file_path,这样您就不会随意为系统中的任何文件提供服务。您不希望允许用户提供您的database.yml文件(包含密码),初始化代码以及用于签名cookie的密钥/密码(识别您网站上任何用户的盗窃),甚至系统文件影子密码文件,ssh密钥等等。