"rails generate controller"不是创建控制器



我正在尝试在终端中运行它:

rails generate controller welcome index

但是,它不会创建控制器。该过程已完成,退出代码为 0。

有什么想法吗?

编辑

我的环境

RUBYGEMS VERSION: 1.8.10
RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [i686-linux]
INSTALLATION DIRECTORY: /home/sam/.rvm/gems/ruby-1.9.3-p0@myapp
RUBY EXECUTABLE: /home/sam/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
EXECUTABLE DIRECTORY: /home/sam/.rvm/gems/ruby-1.9.3-p0@myapp/bin
RUBYGEMS PLATFORMS:
  ruby
  x86-linux
GEM PATHS:
   /home/sam/.rvm/gems/ruby-1.9.3-p0@myapp
   /home/sam/.rvm/gems/ruby-1.9.3-p0@global
GEM CONFIGURATION:
   :update_sources => true
   :verbose => true
   :benchmark => false
   :backtrace => false
   :bulk_threshold => 1000
REMOTE SOURCES:
   http://rubygems.org/
----------------------
IDE: JetBrains RubyMine 4.0.3, build #RM-117.159
OS: Linux 3.0.0-17-generic[i386]
Java: 1.7.0-b147
RubyMine SDK Environment:
Sdk: RVM: ruby-1.9.3-p0 [myapp]
Sdk Version: ver.1.9.3p0 ( revision 33570) p0
Ruby Interpreter: /home/sam/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
RVM Sdk: yes, gemset:myapp
RVM Home: /home/sam/.rvm
Sdk Language Level: 1.9
Sdk Load Path:
     ~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1
     ~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/i686-linux
     ~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby
     ~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby/1.9.1
     ~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby/1.9.1/i686-linux
     ~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby
     ~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1
     ~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/i686-linux
     /opt/RubyMine-4.0.3/rubystubs19

我遇到了同样的问题。 我发现这是因为我以前禁用了活动记录。 在 config/application.rb 中,确保以下行:

require "active_record/railtie"

未注释。 之后它应该可以工作(另外,请确保您有一个有效的 config/database.yml 文件)。

我遇到了同样的问题。当我在另一个 Rails 应用程序中运行该命令时,它起作用了,只是在这个特定的项目中它没有!

原来答案是这样的:我偶然创建了自己的生成器,名为控制器!如果您使用命令"rails g 发电机控制器",则可能会发生这种情况。

然后创建了一个自定义控制器(你可以在lib/generators/controller/controller_generator中找到它),当我使用"rails g controller欢迎索引"时,运行的是我自己的生成器,当然它什么也没做!

不知何故,我认为应该通过让轨道(至少默认情况下)阻止我意外创建生成器来避免这个错误!我知道这很愚蠢,但它发生在我身上。

有趣的问题。我阅读了您的所有环境信息,似乎完全没问题,您正在使用 RVM、Gemset 正在使用、Rubymine 等。

我不确定解决方案,但有几种方法我会尝试一下,所以我将分享这些。

也许您的宝石集正在使用中,但在您第一次尝试时未使用。 检查 Ribymine 的设置是否正确地看到您的 RVM 设置。

其他 Rubymine 任务进展顺利,没有任何问题?服务器是否正常启动?

  1. 尝试 rails 生成 - 如果 Rails 命令有效,则必须查看有关可以生成内容的一些基本帮助信息。

  2. 尝试简单的 rails g 控制器欢迎,您可以稍后添加索引方法。

  3. 从shell尝试简单地使用rails -v来查看Rails版本以及它是否正确使用。也许第一次拍摄看起来很白痴,但是当您不将 Gemset 设置为默认值时,您可能会遇到困难。

  4. 检查/script 文件夹,里面有 rails.rb 吗?您是否修改或删除了此文件?

  5. 尝试其他 rails 注释,例如首先尝试生成模型,然后尝试 rake 任务以查看还会出现哪些其他问题。

没有更多的错误信息,真的很难猜到更多,尽力了。也许这些是新手的东西,但有利于意识到可能导致问题的原因。祝你好运!

最新更新