• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Ruby on Rails Mountable vs. Full Engine

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

原文 :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一起使用

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ruby 全局变量发布时间:2022-07-14
下一篇:
Ruby基础[Programing ruby笔记]发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap