Rails中会自动引用一些文件,例如再Controller中引用Model等是自动发生的,如果再Rails项目中加入一个新的文件夹怎么引用其中的代码呢?
1.新建文件夹 daigong
2.在 config/application.py中修改
# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += %W(#{config.root}/daigong)
告诉rails自动加载daigong目录下的module
3.因为在rails中使用库,就要按照rails的方式来建立文件夹,这个应该是说是特性呢,还是应该说麻烦 - -#
这个详细解答为:
[url]
http://stackoverflow.com/questions/4074830/adding-lib-to-config-autoload-paths-in-rails-3-does-not-autoload-my-module
[/url]
Hmm, I discovered an interesting thing. In order for Rails to auto load my class, the class name should be compliant to the file name and the folder structure. For example, if I want to have Google module autoloaded, I must placed it inside google.rb, directly under /lib (incase I specify autoload from /lib). If I want to auto load Google::Docs, then I either place it inside google.rb or google/docs.rb
其实rails中的意思是和java的包的概念差不多
再daigong文件夹下建立lib.rb那么里面的代码必须是 module Lib ** end 也就是说必须lib.rb文件中模块名字叫 Lib,这样rails才会自动加载(需要再文件头部include 模块名字),如果是文件夹形式
daigong/one/two.rb 那么模块名字module One::Two
4.现在再Controll和helper里面的就自动引用了Model
include 模块名字,一定要再头部加
分享到:
相关推荐
安装过程中,遵循提示进行,确保选择自定义安装并勾选Rails相关的插件,以便在Aptana中获得对Rails的全面支持。 安装完成后,打开Aptana Studio,创建一个新的Rails项目。在“File”菜单中选择“New”然后点击...
3. **Rails开发流程**:从创建新项目开始,包括初始化、添加gem、编写模型、控制器和视图,再到数据库迁移和测试。 4. **数据库集成**:了解ActiveRecord的工作方式,如何创建和执行数据库迁移,以及定义模型关联。...
Rails的目录结构包括`app`、`bin`、`config`、`db`、`lib`、`log`、`public`、`test`和`vendor`等。每个目录都有特定的作用,例如`app`包含了模型、控制器和视图,`config`包含了应用配置,`db`用于数据库操作。 6...
9. **初始化文件(Initializers)**:`config/initializers`目录下的文件在Rails启动时执行,常用来设置全局配置或加载自定义代码。 10. **Scaffolding**:Rails提供了一种快速创建CRUD(创建、读取、更新、删除)...
2. **lib目录**:存放自定义的Ruby模块和类,如连接Solr的适配器、Solr配置文件解析工具等。 3. **app/models/solr_document.rb**:定义了Solr文档对象,用于映射Rails模型到Solr索引。 4. **config目录**:配置文件...
生成的Sitemap会被保存在公共目录下的 `public/sitemap.xml` 文件中,也可以自定义存储位置。 为了确保Sitemap始终保持最新,可以在每次部署后或者内容更新时自动运行这个任务。这可以通过集成到持续集成/持续部署...
6. `lib`目录:存放自定义的库代码和扩展。 7. `test`目录:存放项目的测试代码,通常使用RSpec或Minitest等测试框架。 使用Rails Blueprint,开发者无需从零开始构建整个项目结构,而是可以直接基于蓝图开始编写...
"红矿自定义插件开发" 红矿(Redmine)是一款基于Ruby on Rails的开源项目管理工具,提供了强大的插件机制,允许开发者创建自己的插件,以满足不同的需求。在本文中,我们将详细介绍如何开发一个红矿自定义插件,...
- `lib`:存放自定义模块和类。 - `public`:静态文件,如HTML、CSS、JavaScript等。 - `test`:单元测试和集成测试文件。 #### 四、MVC架构详解 - **模型(Model)**:负责处理数据逻辑,与数据库交互。 - **...
3. **自动面包屑**:如果在路由中有资源定义,插件可以自动为这些资源生成面包屑,无需手动添加。 4. **自定义渲染**:你可以通过定义自己的模板来改变面包屑的显示样式,比如更改分隔符、添加 HTML 类等。 5. **...
log文件夹存储应用日志,public文件夹存放静态资源,db文件夹包含了数据库配置和迁移文件,tmp用于临时文件,script目录可能包含运行脚本,lib通常存放自定义库代码,doc可能包含API文档,而config则包含了应用程序...
这样,开发者无需离开Rails的舒适区,就能在Rails应用中直接使用freeboard的功能,包括但不限于创建动态图表、添加自定义插件以及处理实时数据流。 在实际应用中,"freeboard-rails"支持以下关键特性: 1. **数据...
3. **理解Rails项目结构** - `app`: 包含模型(model)、视图(view)和控制器(controller),还有其他组件如助手(helper)和邮件器(mailers)。 - `config`: 存储配置文件,包括数据库连接、路由、环境设置等。 - `db`:...
6. `lib/`: 自定义代码和扩展库。 7. `public/`: 静态资源,如图片、CSS和JavaScript文件。 8. `spec/`: RSpec测试代码,用于验证应用的功能和行为。 9. `vendor/`: 第三方库或自定义组件。 10. `README.md`: 项目...
Rails允许用户轻松地在项目中创建自定义的命令脚本,这对于执行特定的任务十分便利。 **1. 创建脚本文件** - 在`lib/tasks`目录下创建一个名为`hello.rake`的文件,包含如下内容: ```ruby namespace :hello do ...
5. `lib/`:用于存放自定义的库、扩展模块和应用级别的代码。 6. `log/`:存储应用程序的日志文件。 7. `public/`:静态资源的存放地,可以直接通过URL访问,如robots.txt和favicon.ico。 8. `test/`:存放单元...
在“Rails-Bookstore-master”这个压缩包中,你应该能找到项目的源代码,包括`app/`(包含模型、视图和控制器)、`config/`(配置文件)、`db/`(数据库相关)、`lib/`(自定义库)、`public/`(静态资源)、`test/`...
此外,`rake`还支持自定义任务,通过在`lib/tasks`目录下创建`.rake`文件,开发者可以定义自己的命令行任务,增强开发效率。 总结起来,`rake-0.8.7`是Rails早期版本的核心组件之一,它简化了开发流程,提高了生产...
主要文件夹包括`app`(包含视图、控制器、模型和资产),`config`(配置文件),`db`(数据库文件),`lib`(自定义库),以及`vendor`(第三方依赖)。 总结起来,“image_annotater”是一个集成了Annotorious和...
3. **JavaScript库集成**:学习如何在Rails应用中引入和使用外部JavaScript库,如toastr.js。 4. **Asset Pipeline**:掌握Rails的资产管道机制,处理CSS、JS和其他静态资源。 5. **Gem管理**:使用`Gemfile`和`...