from:http://kkito.cn/index.php/blog/getArticle/76
1.vendor 和gem的关系
结论就是vendor就是gem。通过copy整个gem到vendor文件底下,可以是应用和相关gem的依赖消除。只要拥有app就有了相关所需要的gem,开发过程中也有很帮助。
如何编写自己的gem,这里有篇文章介绍。http://www.iteye.com/topic/70348
可以将gem改为Rails插件来用:
首先本地安装gem,然后按照plugin目录结构创建init.rb和lib文件夹,然后将本地gem目录里的lib文件夹里的rb文件copy到plugin的lib文件夹,然后修改init.rb,require位于plugin下的lib文件夹里的主文件.
2.vendor如何和rails关联
如何是本地安装的gem,可以通过require的方法来使用gem。vendor先得在environment.rb中配置。如
config.load_paths += %W(
vendor/actionwebservice/lib
vendor/xxx/lib
vendor/yyy/lib
).map {|dir| "#{RAILS_ROOT}/#{dir}"}.select { |dir| File.directory?(dir) }
添加到了load_paths之后应该就可以使用require了。
3.rails中lib下module引用
规则:大写开头的变小写加下划线。actionwebservice就是通过这种方式来加载进来的。