Ruby on Rails 模块需要问题

3
我正在通过一些教程学习Rails 3。 我发现lynda.com/Kevin Skoglund的Rails 3 Essential培训非常有用。 在课程接近结尾时,我遇到了一个问题,我无法解决,也没有在网上(或lynda网站)找到参考资料。
有一个position_mover模块(类似于act_as_list,但更简单),我必须将其包含到模型中才能使用。 但是我遇到了错误。 这个:
LoadError in SubjectsController#index

no such file to load -- lib/position_mover
Rails.root: C:/Programozas/work/simple_cms

Application Trace | Framework Trace | Full Trace
app/models/subject.rb:1:in `<top (required)>'
app/controllers/subjects_controller.rb:13:in `list'
app/controllers/subjects_controller.rb:8:in `index'
This error occurred while loading the following files:
lib/position_mover
Request

Parameters:

None
Show session dump

Show env dump

Response

Headers:

None

我也可以访问示例文件。我尝试复制整个应用程序,然后修改宝石版本以正确匹配,但仍然出现相同的错误。 直到我尝试访问需要的模型时,应用程序才无法正常运行。
一个模型:
require 'lib/position_mover'
class Subject < ActiveRecord::Base

include PositionMover

has_many :pages
...
end

我相信这是一种我无法识别的超级简单的问题。请帮忙确认问题所在! 您的, Kael

5
如果移除 lib/ 部分会怎样?如果该 gem 已经在你的 Gemfile 中,甚至无需进行 require 操作。 - Mischa
1
Mischa所说的,将东西放在模型中是不好的。将其保留在初始化器中,或至少在config/目录中。另外:如果应用程序告诉您文件不存在,则文件确实不存在。请仔细阅读手册。 - fx_
1
Mischa:谢谢,老兄。你的回复解决了我的问题。我知道应该回报,但是我不能给你点赞,所以还是谢谢你吧。 - Kael
@mischa,你可以将你的答案添加为一个答案,@kael 可以将其选为正确答案,这样你们两个都会获胜。 - Tim Snowhite
@Tim,好的,我会添加它。@Kael,我已经将我的评论作为答案添加了,所以你可以接受它。 - Mischa
1个回答

2
如果删除lib/部分会发生什么?如果宝石在您的Gemfile中,则无需要求它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接