`
CharlesCui
  • 浏览: 427423 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

RAILS类的装载程序

阅读更多

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 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...

    Ruby-Annotate注释Rails类模式和路由信息

    **Rails类模式** 在Rails中指的是ActiveRecord模型,它们代表数据库中的表。通过注释模型,你可以快速查看每个模型字段的详细信息,包括其数据类型、是否为主键、是否自动递增等。这对于调试和优化数据库查询非常有...

    Rails预加载程序Spring-Rails.zip

    Spring是Rails的预加载器。Spring 能够通过保持应用运行在后台,来提升开发模式下的速度。使得不需要在执行test,rake task以及migration时每次都加载。 标签:Spring

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    最后,创建测试的 Rails 应用程序,并启动 Mongrel 服务器。 知识点1:Ruby 安装 * 下载 Ruby One-Click Installer 版本 * 安装 Ruby * 检查 Ruby 版本 知识点2:Rails 安装 * 下载 Rails 2.0.2 版本 * 安装 ...

    webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成.zip

    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应用程序示例.zip

    rails-prelaunch-signup, web启动预启动站点的Rails 3.2应用程序示例 Rails 应用程序用于启动预启动注册站点Rails 3.2示例应用程序"测试版即将启动"启动预启动注册站点示例应用程序。Rails 预启动注册应用程序插件...

    Agile Web Development with Rails 4th edition(敏捷Web开发与Rails:程序指南 第四版)

    《敏捷Web开发与Rails:程序指南 第四版》是一本深度探讨使用Ruby on Rails框架进行敏捷Web应用开发的专业书籍。本书旨在帮助开发者充分利用Rails 4的特性,提高开发效率,实现快速迭代和高质量的代码编写。 Rails是...

    Ruby on Rails程序设计深入剖析与范例应用

    第10章 MVC的数据持久化层。本章详细介绍Rails数据持久化技术ActiveRecord的使用,...本章详细介绍Rails中视图层的使用,包括模板的分类、引用外部文件、格式化输出、使用超链接、生成表单元素,以及Helper类的使用等。

    rails_layout, 为各种前端框架生成 Rails 应用程序布局文件.zip

    rails_layout, 为各种前端框架生成 Rails 应用程序布局文件 RailsLayout gem使用这里 gem 可以设置你选择的前端框架的布局文件:Zurb基础 5.3Bootstrap 4.0Bootstrap 3.3它还将为 Bootstrap 或者基础设置设计视图。...

    终于知道怎么把rails Web程序打包成可执行文件了

    在Ruby on Rails开发中,将Web程序打包成可执行文件是一项常见的需求,这可以使应用程序更加便携,方便在没有Rails环境的计算机上运行。这里,我们主要探讨如何将Rails应用转化为独立的可执行文件,结合提供的标题和...

    RailsGuides中那个blog程序源码

    RailsGuides中的"blog"程序是一个典型的入门级示例,旨在帮助初学者理解RoR的工作原理和核心概念。 在Rails中,**模型(Model)** 负责处理数据和业务逻辑,通常与数据库交互。在这个"blog"程序中,可能会有一个`...

    rails查询学习笔记

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发Web应用更加高效便捷。在Rails中,数据库查询主要通过ActiveRecord来实现,这是一个强大的...

    Rails下运行PHP程序Phuby.zip

    Ruby核心团队成员Aaron Patterson完成了phuby,它可以在Rails应用下运行php应用程序。项目的地址在https://github.com /tenderlove/phuby,尽管项目主持人Aaron发布了几个视频去证明phuby能让php在Rails下运行,但...

    Rails项目源代码

    Rails使用ActiveRecord作为ORM,它使得Ruby类可以直接与数据库表进行交互。在这个项目中,`User`和`Image`模型可能会与数据库中的相应表关联,通过定义属性和关系,如`has_many :images`表示一个用户可以拥有多个...

    Ruby-RailsErd为Rails应用程序生成实体关系图

    "Rails Erd"是一个Ruby gem,专门用于为Rails应用程序自动生成ERD,使得数据库设计和管理变得更加简单和直观。这个工具是由Voormedia开发的,版本号为0eb4577。 ERD是数据库设计的基础,它通过图形化方式展示了各个...

    关于rails 3.1 cucumber-rails 1.2.0

    结合Rails 3.1的Asset Pipeline和Cucumber-Rails 1.2.0,开发者能够构建出一个既高效又健壮的Web应用程序。Asset Pipeline优化了前端资源的处理,Cucumber-Rails则提供了强大的测试工具,确保代码的质量和功能符合...

    meta-tags, 用于 Ruby on Rails 应用程序的搜索引擎优化( SEO ).zip

    meta-tags, 用于 Ruby on Rails 应用程序的搜索引擎优化( SEO ) 元标记:使你的Rails 应用程序搜索引擎友好的gem 用于 Ruby on Rails 应用程序的搜索引擎优化( SEO ) 插件。Rails 上的 rubyMetaTags主分支完全支持 ...

    Ruby-一个Rails应用程序为DIY小型内容分发网络CDN提供支持

    一个Rails应用程序,为DIY小型内容分发网络CDN提供支持

    蓝图-Rails 6样板程序-Ruby开发

    蓝图可以在几分钟内创建Rails 6应用程序的样板。 概述蓝图是轻松,快速创建Rails 6应用程序的样板。 欢迎提出想法/反馈/建议。 请打开PR,建议Blueprint一个样板,可在几分钟内创建Rails 6应用程序。 概述蓝图是轻松...

Global site tag (gtag.js) - Google Analytics