【问题标题】:Ruby on Rails : rails generate controller does not workRuby on Rails:rails 生成控制器不起作用
【发布时间】:2020-02-10 20:21:49
【问题描述】:

我是 ruby​​ 和 rails 新手,在生成控制器时遇到问题。

一些上下文:

$ rails -v
Rails 4.1.1

应用程序已正确创建:

$ rails new test_app
      create
      create  README.rdoc
      create  Rakefile
      create  config.ru
      create  .gitignore
      create  Gemfile
      create  app
[...]
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
         run  bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted

服务器运行良好:

$ rails server
=> Booting WEBrick
=> Rails 4.1.1 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
[2014-06-07 11:12:20] INFO  WEBrick 1.3.1
[2014-06-07 11:12:20] INFO  ruby 1.9.3 (2014-02-24) [x86_64-cygwin]
[2014-06-07 11:12:20] INFO  WEBrick::HTTPServer#start: pid=3340 port=3000

我可以浏览默认页面,但是当我尝试进入下一步时,它失败了:

$ rails generate controller welcome index

什么都没有发生,文件也没有生成。根本没有输出,所以我不知道应该去哪里解决这个问题。

我已经尝试过创建一个全新的应用并重新安装 rails,但这没有帮助。

【问题讨论】:

  • 您是在单独的选项卡中还是在同一个选项卡中但在关闭服务器后编写了该命令?
  • 当我看到rails gene.. 命令之前的$ 符号时,我没有猜到这个错误。但它可以是......
  • 您是否启用了 ActiveRecord?或者,也许您有一个意外创建的名为“控制器”的自定义生成器?
  • @StefanHagen 如何检查它是否启用?
  • 是的,它是应用文件夹中的一个单独选项卡。 $ 只是 cygwin 命令提示符。我见过有人在使用自定义生成器时遇到问题,但我不知道如何查看是否有自定义生成器。 (抱歉回复了一半,按回车立即发送回复:-/)

标签: ruby-on-rails ruby


【解决方案1】:

尝试运行

spring stop

rails generate 可能无法工作,因为 spring 已经在运行了。

【讨论】:

  • 我的意外违反了最小意外原则。我在the guide here 之后玩得很开心。我想我会通过删除我的项目目录来进行更多练习,并在bin/rails generate controller welcome index 导致没有输出和文件控制器生成时重新开始。这导致了我这篇文章。 spring stop 解决了这个问题。现在我必须在谷歌上搜索spring stop,这样我就不会再感到惊讶了。
  • 这是正确答案
【解决方案2】:

我在 Windows 机器上尝试运行 rails generate controller Users new 时遇到了同样的问题。

首先,确保您的弹簧没有运行。用spring stop停止它

如果没有帮助,那么:

  1. 转到您的 Gemfile 并注释掉接下来的两行:gem 'spring' and gem 'spring-watcher-listen', '~> 2.0.0'
  2. 在您的终端中,运行:bundle update

【讨论】:

    【解决方案3】:

    我跑了spring stop,它说它没有运行。

    然后我做了一个bundle install,现在它工作了..

    【讨论】:

      【解决方案4】:

      我正在使用 rails 6,也为我工作。

      【讨论】:

        【解决方案5】:

        确保您位于正确的文件夹而不是环境中,例如~/environment/railsproject

        我收到了错误,我忘记了cd railsproject

        'spring' 和 'spring-watcher-listen' gem 仍然安装。

        【讨论】:

          【解决方案6】:

          我遇到了同样的问题。当我用 ctl-c 中止时,我得到了:

          /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `gets': Interrupt
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `verify_server_version'
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/run.rb:25:in `call'
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/rails.rb:23:in `call'
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
          from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
          from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
          from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
          from /usr/share/yapo/bin/spring:16:in `<top (required)>'
          from bin/rails:3:in `load'
          from bin/rails:3:in `<main>'
          

          所以我猜测问题出在春天的某个地方。我在 Gemfile 中用 spring 评论了这一行,运行了 bundle update ,瞧。希望这也对你有用。

          也许对 ruby​​ 有更多经验的人知道这是我/我们的配置中的问题还是错误?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多