RAILS类的装载程序
在纯RUBY中,一个脚本文件不需要用特殊的方式命名去匹配他的内容。然而,在RAILS中,你必须注意,总是在RUBY件名和文件所包含的类有个很直接的关联。RAILS充分利用RUBY所提供的无效常量回收机制。当RAILS在代码偶尔遇到一个未定义的常量,它使用一个基于文件命名协定的类加载器例程来寻找来加载所需的RUBY脚本。
类加载器怎样知道去哪搜寻?我们已经在本章稍早讨论initializer.rb的启动过程规则的时就覆盖说明它 。RAILS有装载路径这概念,默认装载路径包括基本目录(你认为在你的程序会增加代码的任何地方)。默认的装载路径的方法命令会显示RAILS在他的默认路径怎样搜寻目录。我们将剖析这个方法的源代码并且解释每个加载行为的原因。
test/mocks目录(在第17章”Testing”会广泛的涉及到)可以使你去忽略标准RAILS类行为。
paths = ["#{root_path}/test/mocks/#{environment}"]
# Add the app’s controller directory
paths.concat(Dir["#{root_path}/app/controllers/"])
# Then components subdirectories.
paths.concat(Dir["#{root_path}/components/[_a-z]*”])
# Followed by the standard includes.
paths.concat %w(
app
app/models
app/controllers
app/helpers
app/services
app/apis
components
config
lib
vendor
).map { |dir| “#{root_path}/#{dir}” }.select { |dir|
File.directory?(dir) }
paths.concat Dir["#{root_path}/vendor/plugins/*/lib/"]
paths.concat builtin_directories
end
想要看你的项目装载路径?只要在控制台如下输入$: :
$ console
Loading development environment.
>> $:
- ð [”/usr/local/lib/ruby/gems/1.8/gems/ … # about 20 lines of output
分享到:
相关推荐
rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...
使用RSpec 测试Rails 程序.pdf
Spring是Rails的预加载器。Spring 能够通过保持应用运行在后台,来提升开发模式下的速度。使得不需要在执行test,rake task以及migration时每次都加载。 标签:Spring
Annotate - 注释Rails类模式和路由信息
webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成 不再维护webpack-rails 不再被维护。 有关详细信息,请参阅 #90. web pack-railsweb pack 为你提供了将 web pack集成到现有的Ruby on Rails 应用程序中...
rails-prelaunch-signup, web启动预启动站点的Rails 3.2应用程序示例 Rails 应用程序用于启动预启动注册站点Rails 3.2示例应用程序"测试版即将启动"启动预启动注册站点示例应用程序。Rails 预启动注册应用程序插件...
第10章 MVC的数据持久化层。本章详细介绍Rails数据持久化技术ActiveRecord的使用,...本章详细介绍Rails中视图层的使用,包括模板的分类、引用外部文件、格式化输出、使用超链接、生成表单元素,以及Helper类的使用等。
Ruby+on+Rails+程序设计深入剖析与范例应用
rails_layout, 为各种前端框架生成 Rails 应用程序布局文件 RailsLayout gem使用这里 gem 可以设置你选择的前端框架的布局文件:Zurb基础 5.3Bootstrap 4.0Bootstrap 3.3它还将为 Bootstrap 或者基础设置设计视图。...
Mailboxer - 一个Rails的应用程序私人消息系统
karafka 基于Apache Kafka的Ruby和Rails应用程序开发框架
Ruby核心团队成员Aaron Patterson完成了phuby,它可以在Rails应用下运行php应用程序。项目的地址在https://github.com /tenderlove/phuby,尽管项目主持人Aaron发布了几个视频去证明phuby能让php在Rails下运行,但...
Rails Erd - 为Rails应用程序生成实体关系图
Rails Blueprint是一个可以轻松快速地创建Rails 5应用程序的样板
meta-tags, 用于 Ruby on Rails 应用程序的搜索引擎优化( SEO ) 元标记:使你的Rails 应用程序搜索引擎友好的gem 用于 Ruby on Rails 应用程序的搜索引擎优化( SEO ) 插件。Rails 上的 rubyMetaTags主分支完全支持 ...
一个Rails应用程序,为DIY小型内容分发网络CDN提供支持
蓝图可以在几分钟内创建Rails 6应用程序的样板。 概述蓝图是轻松,快速创建Rails 6应用程序的样板。 欢迎提出想法/反馈/建议。 请打开PR,建议Blueprint一个样板,可在几分钟内创建Rails 6应用程序。 概述蓝图是轻松...
Draper - 将面向对象的表示逻辑层添加到您的Rails应用程序
很棒的Ruby和Rails开源应用程序很棒的Ruby和Rails开源应用程序用Ruby和Rails编写的很棒的开源应用程序列表。 该存储库的主要目标是找到免费的开源Ruby和Rails应用程序并开始贡献:rocket:。 随时为列表做出贡献,欢迎...
rails_email_preview, 在 Rails 中,预览和编辑应用程序邮件程序模板 Rails 电子邮件预览 使用这里 Rails 引擎在浏览器中预览电子邮件。 兼容 Rails 4.2 。电子邮件审阅: 所有电子邮件预览的列表: 代表有两个主题...