我正在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'
然后是进一步的错误
我想我没有正确链接到该文件夹,任何人都可以让我知道我应该链接到哪里吗?
答案 0 :(得分:1)
你可以使用
Rails.root
将您当前的Rails项目设为root。
所以
require Rails.root + 'path_to_example_user'
会加载文件。
您还可以尝试reload!
命令,它将重新加载整个Rails环境。
答案 1 :(得分:1)
是的,只需将文件移动到实际的根目录即可。做mv example_user.rb* /
应该这样做。
另外,请不要担心,如果在要求文件后,您将返回“true”而不是[“User”]。
答案 2 :(得分:1)
文件应以.rb
结尾:
require './example_user' #will not work
require './example_user.rb' #will work
要重命名文件,请使用以下命令行(不在rails控制台中):
mv example_user example_user.rb
答案 3 :(得分:0)
尝试使用文件的绝对路径......如下所示:
require '/Users/snook3/my/project/folder/example_user.rb'
答案 4 :(得分:0)
无需指定完整路径,只需将 .rb 附加到文件名:require './example_user.rb'
。
答案 5 :(得分:0)
我遇到了同样的问题,但对Unix不熟悉我只能这样解释。
1)我在Sublime Text 2中创建了example_user.rb文件,并将其保存到应用程序根文件夹中。
2)“要求”对我来说不起作用,就像OP一样。即使我可以在文件夹中看到该文件。
3)然而,打开终端窗口,导航到应用程序根目录,然后输入“dir”,我可以看到文件名前面有一个“/”!不确定发生的原因是什么/为什么,或者为什么它在资源管理器中不可见(或者说与Unix相当的是什么 - Nautilus?)。
4)从终端内重命名文件后,一切正常。但如果对任何一个Unix / Rails人员都有意义的话,他会喜欢解释出现了什么问题。
答案 6 :(得分:0)
尝试
touch example_user.rb
在答案 7 :(得分:0)
本教程告诉您“在应用程序根目录中创建文件example_user.rb”。我最初错误地将其放在应用程序文件夹中,并得到相同的错误消息。
如果您将文件移至项目根目录,则require './example_user'
将起作用。