rails console错误需要’./example_user’

我正在使用http://ruby.railstutorial.org/chapters/rails-flavored-ruby#sec:a_user_class上的轨道教程

我被告知要输入require './example_user'但是……我收到此错误

 LoadError: cannot load such file -- example_user from /Users/snook3/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in require' 

然后是进一步的错误

我想我没有正确链接到该文件夹​​,任何人都可以让我知道我应该链接到哪里吗?

是的,只需将文件移动到实际的根目录。 做mv example_user.rb* /应该这样做。

另外,如果在需要文件后,您不会担心返回“true”而不是[“User”]。

您可以使用Rails.root来获取当前的Rails项目根目录。

所以require Rails.root + 'path_to_example_user'

会加载文件。

你也可以试试reload! 命令,它将重新加载整个Rails环境。

尝试使用文件的绝对路径…像这样:

 require '/Users/snook3/my/project/folder/example_user.rb' 

无需指定完整路径,只需将.rb附加到文件名: require './example_user.rb'

我有这个完全相同的问题,但不熟悉Unix我只能这样解释它。

1)我在Sublime Text 2中创建了example_user.rb文件,并将其保存到应用程序根文件夹中。

2)“要求”对我来说不起作用,就像OP一样。 即使我可以在文件夹中看到该文件。

3)但是,打开终端窗口,导航到应用程序根目录,然后输入“dir”,我可以看到文件名之前有一个“/”! 不确定发生的原因是什么/为什么,或者为什么它在资源管理器中不可见(或者不管用什么类似的Unix – Nautilus?)。

4)从终端内重命名文件后,一切正常。 但如果这对你们任何一个Unix / Rails人员都有意义的话,我会喜欢解释出了什么问题。

尝试

 touch example_user.rb 

在Unix终端。 然后将代码添加到此文件中。

本教程告诉您“在应用程序根目录中创建文件example_user.rb”。 我错误地把它放在app文件夹中并得到了相同的错误消息。

如果您将文件移动到项目根目录中,则require './example_user'才能工作。