2

我在http://ruby.railstutorial.org/chapters/rails-flavored-ruby#sec:a_user_class使用 railstutorial

有人告诉我输入 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'

然后越来越多的错误

我想我没有正确链接到该文件夹​​,谁能让我知道我也应该链接到哪里?

4

8 回答 8

1

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

所以 require Rails.root + 'path_to_example_user'

将加载文件。

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

于 2012-05-16T14:54:33.213 回答
1

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

此外,如果在请求文件后,您得到的返回“true”而不是 [“User”],请不要担心。

于 2012-08-05T17:45:09.190 回答
1

该文件应以以下结尾.rb

    require './example_user'    #will not work
    require  './example_user.rb'      #will work

要重命名文件,请使用以下命令行(不在 rails 控制台中):

    mv example_user example_user.rb
于 2019-10-02T12:36:44.173 回答
0

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

require '/Users/snook3/my/project/folder/example_user.rb'
于 2012-05-16T14:17:41.353 回答
0

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

于 2012-05-16T14:57:10.260 回答
0

我遇到了同样的问题,但对 Unix 不是很熟悉,我只能这样解释。

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

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

3)但是,打开一个终端窗口,导航到应用程序根目录,然后输入“dir”,然后我可以看到文件名前面有一个“/”!?不知道这是如何/为什么发生的,或者为什么它在 Explorer 中不可见(或者任何 Unix 等价物被称为 - Nautilus?)。

4)从终端内重命名文件后,一切正常。但是如果这对你们中的任何一个 Unix/Rails 人来说都有意义的话,我希望能解释一下出了什么问题。

于 2014-01-11T00:10:59.267 回答
0

尝试

touch example_user.rb 

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

于 2014-10-06T14:55:29.677 回答
0

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

如果您将文件移动到项目根目录中,那么require './example_user'将起作用。

于 2018-10-05T02:54:01.347 回答