首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails:使用模块

Rails:使用模块
EN

Stack Overflow用户
提问于 2015-04-30 01:34:08
回答 1查看 309关注 0票数 1

我对Rails还比较陌生,但我几乎已经完成了Lynda的在线课程。我被困在14-5“使用positionMove模块”。本教程在Rails 3中,而我的版本是Rails 4。我有解决方案代码,但是它对我不起作用。我已经将我的文件position_mover.rb放在lib目录中。然后,在我的主题模型中,我需要并包括这样的模块:

代码语言:javascript
复制
require 'lib/position_mover'
class Subject < ActiveRecord::Base

  include PositionMover
  ...
end

我在学科控制器中使用了这个模型中的方法,就像讲师一样。但是,当我在Subject索引页面上运行我的应用程序时,我会得到以下错误:

代码语言:javascript
复制
cannot load such file -- lib/position_mover

app/models/page.rb:1:in `<top (required)>'
app/views/subjects/list.html.erb:23:in `block in_app_views_subjects_list_html_erb__420960863_60005508'
app/views/subjects/list.html.erb:18:in `_app_views_subjects_list_html_erb__420960863_60005508'
app/controllers/subjects_controller.rb:9:in `index'

我尝试过许多我在网上找到的不同方法,比如将它添加到类定义(Ruby on Rails 4.0 - Loading and using a module)中,或者将它移到不同的目录中,并指定路径。如何在Rails 4中实现相同的结果?我做错了什么?任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-30 01:52:23

代码语言:javascript
复制
require "#{Rails.root}/lib/position_mover" 

代码语言:javascript
复制
require_relative 'lib/position_mover'

您还可以自动加载库文件。

config/application.rb

代码语言:javascript
复制
config.autoload_paths << Rails.root.join('lib')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29957561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档