在Rails中将视图渲染为文本

时间:2016-09-09 08:35:31

标签: ruby-on-rails

我有一个控制器方法,它应该只输出带有某种报告的.txt文档。我想使用erb视图,因此我能够在应该的级别上进行报告的呈现。

我很难让Rails以这种方式运行。我找到了render plain:,但这似乎不允许使用视图模板。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您只需添加*.text.erb之类的视图文件,然后在网址中使用.txt点击该路径(例如/users/report.txt)就可以实现这一目标。

示例(在Rails 4.2上测试):

<强>控制器

class UsersController < ApplicationController
  def report
  end
end

查看

# app/views/users/report.text.erb
Current time: <%= Time.now %>

现在,请在浏览器中访问该路径(/users/report.txt):

Current time: 2016-09-09 12:16:02 +0200

html模板一样,如果您在控制器中定义任何实例变量,则可以在text模板中访问它。