我输入了这个:
>rails console
得到了这个:
Usage:
rails new APP_PATH [options]
Options:
[--skip-gemfile] # Don't create a Gemfile
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db)
# Default: sqlite3
..
..
.
我正在关注rails教程,并坚持这一点。
我安装了rails 3.0。
答案 0 :(得分:35)
键入$ rails console
时,您是否位于应用的根路径中?
提示:$ rails c
是$ rails console
答案 1 :(得分:35)
如果其他人遇到这种情况,我的症状是:
我用Capistrano 3部署了我的应用程序
我进入了我的应用程序目录,并且rails console无法正常工作
原来我在bin部署中将bin文件夹作为符号链接目录包含在内,如下所示:
set:linked_dirs,%w {log tmp / pids tmp / cache tmp / sockets vendor / bundle public / system}
...'共享'中的bin目录为空。
两个修正:
然后我重新部署并且它可以工作。
答案 2 :(得分:10)
我在将Rails 2应用程序升级到Rails 3时遇到了同样的问题。在我的应用程序的根目录中运行rails console
(或真正的rails [anything]
)时,我会看到一般{{1}用法输出(如原始问题中引用的Blankman)。
问题是我没有从rails new
目录中删除旧的Rails 2脚本。删除script
目录中的所有内容并添加在每个新Rails 3应用程序中自动生成的script
文件后,script/rails
命令现在可以按预期工作。
要获取rails
文件的最新内容,请生成一个新应用并将该文件复制到您正在升级的Rails 2应用中。从Rails 3.0.7开始,这里是这个文件中的内容:
script/rails
答案 3 :(得分:7)
当我将Rails 2升级到3并且能够通过执行Nick所说的操作来修复它,然后运行bundle exec rails console production
时,我遇到了这个问题。
答案 4 :(得分:3)
在Rails 2.3.x中,命令在给定的Rails应用程序目录中为script/console
,以启动Ruby控制台,并将默认的Rails环境加载到内存中。不确定Rails 3.0是否相同。
答案 5 :(得分:2)
您需要进入项目目录并命令rails console
例如:
D:\workspace\>rails blog
D:\workspace\>cd blog
D:\workspace\blog\> rails c
loading en...
答案 6 :(得分:1)
你在rails 3应用程序目录中吗?
您是否安装了多个版本的rails?
尝试检查'which rails',并确保这是您正在运行的rails 3可执行文件 - 该用法看起来像rails 2.x。
答案 7 :(得分:1)
您正在运行正确的命令(rails console
),但您很可能不在此应用程序的工作目录中。将目录更改为rails应用程序的根目录(在其下方,您将找到/scripts
,/app
等),命令应该可以正常工作。
注意:使用script/console
或ruby script/console
适用于早期版本的Rails。
答案 8 :(得分:0)
在我的情况下bin/rails c
解决了我的应用根文件夹