原文 :https://www.travisluong.com/ruby-on-rails-mountable-vs-full-engine/
一个Rails Engine 本质是一个 Rails application,你可以附加到其他的rails application上提供附加功能。
一个Rails Engine是一个Rails应用程序,因为它遵循与“普通”Rails应用程序相同的模型视图控制器模式。

rails Engine 和通常的rails application有什么的不同呢,一个rails engine通常使用命令,$ rails plugin new my_engine --mountable 或 $ rails plugin new my_engine --full生成,

因为engines被打包作为ruby gems,所以你使用需要的gem时,在gemspec中添加而不是gemfile中,当你使用bundler时,在gemfile中使用gemspec函数将会自动加载他们,所以你必须在engine.rb中使用require引入它们,否则你会看到nomethod的错误,同时,一个虚拟的application会在你的测试目录中生成,用来测试使用,你必须拷贝整个迁移文件到你的虚拟application中,以及任何你希望使用这个engine的appliction上,幸好,engine有一个rake命令可以做这个事,rake my_engine:install:migrations

两种类型的主要不同是,mountable engine有独立的命名空间,而full engine没有,这意味着,mountable engine可以作为host application的一部分运行, 而full engine 必须集成到host applicatin中,本质上,一个full engine与host application分享Models views, controllers, helpers和路由,一个mountable engine却不分享,mountable engine有自己的layout,javascript, css文件,而full engine却没有,使用mountable engine 需要在你的host application的路由文件中 使用mount函数挂载到一个子路径下,full engine却不用看起来,一个 ountable engine适合单独的application,例如 blog,forum,一个full engine适合 添加到一个已存在的application例如 验证方案,或者权限接口,mountable engine适和与application同时使用,full engine适合与application一起使用

Ruby on Rails Mountable vs. Full Engine的更多相关文章

  1. 10 steps to get Ruby on Rails running on Windows with IIS FastCGI- 摘自网络

    Since the original tech preview release of FastCGI last year, we've been seeing a lot of requests fo ...

  2. Linux超快速安装Ruby on Rails

    Linux超快速安装Ruby on Rails 时间 2014-11-25 11:45:11 Flincllck Talk 原文  http://www.flincllck.com/quick-ins ...

  3. 管理不同版本ruby和rails的利器——rvm

    近年来,ruby on rails逐渐火了起来,我想各位码农早就耳闻,特别是那些做B/S项目的童鞋,早就想跃跃一试了. 笔者也是初次接触ruby on rails ,我想,对于初学者来说,最好的学习方 ...

  4. ruby on rails on windows

    这次想系统学会rails,最终目标是将redmine改造成顺手的工具,主要的手段就是开发redmine插件.虽然网上都推荐使用类Unix系统,可手头只有win7系统,就安装了. 难免会遇到这样那样的问 ...

  5. win8平台下Ruby on Rails的第一个web应用

    最近在做一个网站web前端的前期开发,老板要求用Ruby on Rails搭建部署开发环境,上网搜之,发现整个搭建流程比较坑爹,于是用了一款集成软件Bitnami Ruby Stack一键安装到我的w ...

  6. 为什么学习Ruby On Rails:

    简单总结了一下自己为什么喜欢ruby on rails: 语法简单,写代码很愉快,比较接近伪代码: 喜欢其强大的正则表达式和字符串操作. ruby中面向对象更自由,更动态: ruby给人信任,相信你了 ...

  7. 通过Ruby On Rails 框架来更好的理解MVC框架

    通过Ruby On Rails 框架来更好的理解MVC框架   1.背景    因为我在学习软件工程课程的时候,对于 MVC 框架理解不太深入,只是在理论层面上掌握,但是不知道如何在开发中使用 MVC ...

  8. Ruby on Rails框架开发学习

    学习地址:http://www.ixueyun.com/lessons/detail-lessonId-685.html 一.课程概述 软件开发在经历了面向过程编程的阶段,现在正大行其道的是敏捷开发, ...

  9. ruby on rails 2.3+的版本不再支持cgi

    ruby on rails 2.3+的版本不再支持cgi了,恶心到了,换其他框架,看了款cramp,完全没资料,完全不让人入门 操蛋的厉害,ruby果然是小众的窝里乐,放弃使用

随机推荐

  1. Ubuntu16.04安装PostgreSQL并使用pgadmin3管理数据库_图文详解

    版权声明:本文地址http://blog.csdn.net/caib1109/article/details/51582663 欢迎非商业目的的转载, 作者保留一切权利 apt安装postgresql ...

  2. MySQL Route负载均衡与读写分离Docker环境使用

    Docker环境描述 主机名 部署服务 备注 MySQL Route MySQL Route 部署在宿主机上的MySQL Route服务 MySQL Master1 MySQL 5.7.16 Dock ...

  3. SQL server经验分享:SQLSERVER 被标记为“可疑”的数据库处理方法

    --MyDB为修复的数据名USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO ALTER DATABAS ...

  4. JavaScript從剪切板中獲取圖片並在光標處插入

    edit_content_text.addEventListener('paste', function (ev) {    var clipboardData, items, item;    co ...

  5. 项目笔记---事半功倍之StyleCop(一)

    前言 曾几何时,你是否在看别人代码的时候总是在抱怨代码没有注释,命名不规范,代码风格不统一,代码可读性差?是否有一个适合团队开发规范的检查工具? 答案就是大名鼎鼎的StyleCop代码检查插件,有了这 ...

  6. LeetCode144:Binary Tree Preorder Traversal

    题目: Given a binary tree, return the preorder traversal of its nodes' values. For example: Given bina ...

  7. .Net常用正则判断方法

    /// <summary> /// 判断string类型否为数字 /// </summary> /// <param name="strNumber" ...

  8. day 82 URL分发

    一 .admin 流程 (1) 启动 autodiscover_modules('admin', register_to=site) (2) 注册 单例模式 admin.site=AdminSite( ...

  9. Lunix git stash clear 或者 git stash drop后恢复的方法

    首先输入 git fsck --lost-found 会看到 一条一条的记录 这里的"dangling commit ..."你可以理解为记录的是你stash的id(经测试,该id ...

  10. JavaScript基础数组_布尔值_逻辑运算等(2)

    day51 参考:https://www.cnblogs.com/liwenzhou/p/8004649.html 布尔值(Boolean) 区别于Python,true和false都是小写. var ...