rails缺少来自link_to和send_file的模板

时间:2015-03-18 10:35:36

标签: ruby-on-rails ruby ruby-on-rails-4

我试图在html中显示日志文件的内容,txt文件。 我得到了'模板丢失错误'。

Missing template application/index with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. Searched in: * "/home/Documents/workspace/demo2/app/views"

在我的控制器中我有

 class ApplicationController < ActionController::Base
  def index
  end
  def displaycontents
  send_file "/home/Documents/workspace/demo.txt", 
          :type => "text/html", 
          :disposition => 'inline'
  end
 end

在我的routes.rb中我有

root 'application#index'

在我的index.html.erb中我有

<!DOCTYPE html>
<html>
<head>
 <title>new view</title>
  </head>
  <body>
  <%= link_to "Log File", :controller=> :application,
    :action=>:displaycontents %>
  </body>
</html>

我已将控制器文件中的索引操作保持为空,因此默认情况下会呈现index.html.erb。

我已按照其他解决方案的建议重新启动了rails服务器。 index.html.erb文件存在于demo2 / app / views中。

我使用的不同版本是 - RUBYGEMS版本:1.8.23    - RUBY版本:1.9.3 -Rails:4.0.2

1 个答案:

答案 0 :(得分:1)

在send_file之后添加and return以避免呈现视图。

send_file("/home/Documents/workspace/demo.txt", :type => "text/html", :disposition => 'inline') and return