2

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

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
4

3 回答 3

8

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

require "active_record/railtie"

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

于 2012-10-17T07:08:41.563 回答
6

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

原来答案是这样的:我偶然创建了自己的名为控制器的生成器!如果您使用命令“rails g generator controller”,就会发生这种情况。

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

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

于 2013-02-26T11:23:28.147 回答
2

有趣的问题。我阅读了你所有的环境信息,看起来绝对没问题,你正在使用 RVM,Gemset 正在使用,Rubymine 很好,等等。

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

也许您的 Gemset 正在使用中,但在您第一次尝试时并未使用。检查 Ribymine 的设置,如果它正确地看到您的 RVM 设置。

其他 Rubymine 任务顺利进行没有任何问题?服务器正确启动?

  1. 试试 rails generate - 如果 Rails 命令有效,那么你必须看到一些关于你可以生成什么的基本帮助信息。

  2. 试试简单的 rails g 控制器欢迎,以后可以添加 index 方法。

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

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

  5. 试试其他rails注释,先尝试生成模型举例,再试试rake tasks看看还有什么问题。

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

于 2012-04-14T01:01:51.180 回答