【问题标题】:Ruby on Rails, No template for interactive requestRuby on Rails,没有用于交互式请求的模板
【发布时间】:2020-04-13 14:03:41
【问题描述】:

enter image description here

我之前运行过

rails generate controller Welcome index

终端上的命令,直接运行服务器,但此错误消息不断出现:

没有交互式请求模板
WelcomeController#index 缺少请求格式的模板:text/html

我已尝试寻找解决方案,但没有一个可以解决问题。

这些是文件路径

里面只包含:

你好,Rails!

【问题讨论】:

  • 有代码吗?
  • 你必须在 app/views/welcome/index.html.erb guides.rubyonrails.org/…添加一个视图文件
  • @arieljuod 该文件是在我生成控制器时由rails自动生成的,所以我不需要自己添加新文件吗?
  • @UdoE。这些代码是创建控制器时生成的默认代码。我还没有修改任何东西..只想直接运行服务器。

标签: ruby-on-rails rubygems react-rails


【解决方案1】:

我遇到了这个问题,我设法通过确保文件路径没有空格来解决它。在我的情况下,我安装的驱动器被称为“HDD(Mint)”,将其更改为“HDD-Mint”解决了这个问题。

【讨论】:

  • 我不明白你之前说的是哪个驱动器
  • 对不起,我对驱动器重命名操作不是很清楚。是我们重命名的项目(应用程序)的名称吗?
  • 如果我的 ruby​​ 文件在 C: 驱动器中,我是否也应该在 C 驱动器中创建项目?反正没关系吧?? @Zhorian
  • 已将我的驱动器名称更改为无空格,但仍无法解决问题
  • 我使用的是 linux 而不是 windows 所以我的项目的根目录是 /mnt/HDD-Mint/Repo/udemy-ror/projects/intro 如果认为整个路径需要没有空格但是我可能是错的。我只知道这解决了我的问题。
【解决方案2】:

我找到了解决问题的方法。但我很困惑为什么。以前,我在 git bash 命令行上运行 rails 服务器,它不断吐出我上面显示的错误消息。但是,我尝试使用 Windows 命令行创建一个新应用程序并重复相同的步骤并运行服务器,它就可以工作了!我想知道我的 git bash 命令行会发生什么。它与PATH有关吗?或者我在安装 git bash 时遗漏了什么?

之所以这么说是因为当我在Windows命令行上运行rails服务器时,我看到在最终运行我的服务器之前有一个[编译...]步骤,但是我运行时没有出现这个步骤git bash 上的 rails 服务器。有人能解释一下吗?

对不起,冗长的消息。我对 rails-react 真的很陌生!谢谢..

【讨论】:

    【解决方案3】:

    只是为了添加到@Zhorian 的答案......

    我还通过从文件路径中的文件夹中删除特殊字符解决了我的错误(在我的例子中是括号)。

    【讨论】:

      【解决方案4】:

      确保不要在 Rails 路径名中使用 空格 和/或 括号,例如:

      \Users\username\Dropbox (company)\my_rails_app
      

      因此,目前在使用 Dropbox Business 时会出现此问题。

      它被认为是 Rails 中的一个错误,已经进行了修复,但在 Rails 版本 6.0.2.1 中尚不可用

      https://github.com/rails/rails/pull/37119 https://github.com/rails/rails/issues/37719 https://github.com/rails/rails/issues/37641

      附: 我认为“空格”问题之前已经修复,但“括号”问题仍然存在于 Rails 6.0.2.1

      【讨论】:

      • 谢谢你,让我发疯了好几个小时,试图找出我做错了什么。 :-/
      • 不幸的是,我在 Linux Centos 7 上收到此错误,路径中没有特殊字符或空格。我的模板也已经到位,我在日志中看到它们正在被渲染。
      • @Phipsen 出于好奇,你使用的绝对路径是什么?
      • @PaulVerschoor:我需要为模板添加一个子目录。发布了一个单独的问题并得到了答案:link
      【解决方案5】:

      我也遇到了这个错误。原来我不小心在我的layouts 中找到了包含我的 html.erb 文件的文件夹。

      views/layouts/welcome/index.html

      views/welcome/index.html

      【讨论】:

        【解决方案6】:

        不要在 vs code 或其他 IDE 的终端上运行$rails s。由于错误的目录指针,这将输出此错误。使用默认系统命令提示符。这有助于纠正错误。

        【讨论】:

          【解决方案7】:

          这是一个非常奇怪的。我有相同的,但我的控制器名称是复数:

          rails generate controller Welcomes index
          

          还有你的 routes.rb

          # If this page will be your homepage ie /
          root to: 'welcomes#index'
          

          你会注意到你的观点变成了复数形式:views/welcomes/index.html.erb

          【讨论】:

            【解决方案8】:

            我遇到了同样的问题,为我解决的问题是确保运行服务器的终端中文件路径的目录大小写完全匹配(即 OneDrive/Documents/GitHub/blog,不是onedrive/documents/github/blog)。

            【讨论】:

              猜你喜欢
              • 2012-12-09
              • 1970-01-01
              • 1970-01-01
              • 2022-01-01
              • 2019-07-20
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多