原文 :https://www.travisluong.com/ruby-on-rails-mountable-vs-full-engine/一个Rails Engine 本质是一个 Rails application,你可以附加到其他的rails application上提供附加功能。一个Rails Engine是一个Rails应...
原文 :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
基础教程推荐
- ruby-on-rails-使用Nginx的Rails的多阶段环境 2023-09-21
- R语言-如何将科学计数法表示的数字转化为文本 2022-11-23
- swift版webview加载网页进度条效果 2023-07-05
- R语言基于Keras的MLP神经网络及环境搭建 2022-12-10
- R包ggtreeExtra绘制进化树 2022-12-14
- R语言数可视化Split violin plot小提琴图绘制方法 2022-12-10
- swift 字符串String的使用方法 2023-07-05
- UEFI开发基础HII代码示例 2023-07-07
- asm基础——汇编指令之in/out指令 2023-07-06
- Go web部署报错panic: listen tcp xxxxxxx:8090: bind: cannot assign requested address 2023-09-05