[英]Ruby on Rails : rails generate controller does not work
我是 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,但这无济于事。
尝试运行
spring stop
rails generate 可能不起作用,因为 spring 已经在运行。
在尝试运行rails generate controller Users new
时,我在我的 Windows 机器上遇到了同样的问题。
首先,确保你的弹簧没有运行。 用spring stop
如果它没有帮助那么:
gem 'spring' and gem 'spring-watcher-listen', '~> 2.0.0'
bundle update
我跑了spring stop
,它说它没有运行。
然后我做了一个bundle install
,现在它工作了..
我正在使用 rails 6 并且也为我工作。
确保您位于正确的文件夹中而不是环境中,例如~/environment/railsproject
。
我得到了错误,我忘记了cd railsproject
。
'spring' 和 'spring-watcher-listen' gems 仍然安装。
我有同样的问题。 当我用 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 有更多经验的人知道这是我/我们的配置中的问题还是错误?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.