我想在Rails中将ERB模板呈现为纯文本.理想情况下,我可以做这样的事情:
应用程序/视图/测试/ test.txt.erb
Test
<%= @test %>
Run Code Online (Sandbox Code Playgroud)
当我尝试时,Rails抱怨以下错误:
ActionView::MissingTemplate (Missing template test/test, application/test with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee]}. Searched in:
* "/Users/landonschropp/Development/test/app/views"
):
Run Code Online (Sandbox Code Playgroud)
最简单的方法是采取行动:
render '/test/test.text.erb', layout: false, content_type: 'text/plain'
Run Code Online (Sandbox Code Playgroud)
好的,我发现的方法是添加
Mime::Type.register 'text/plain', :txt
Run Code Online (Sandbox Code Playgroud)
到环境.rb
如果需要,可以添加defaults: {format: 'txt'}选项来定义路由
Rails.application.routes.draw do
root 'pages#home'
get 'test', to: 'pages#test', defaults: {format: 'txt'}
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5872 次 |
| 最近记录: |