Sinatra 关于 padrino 的几个大坑

cn_boris · 2013年12月13日 · 最后由 dingyiming 回复于 2015年12月10日 · 8650 次阅读

最近玩 padrino 踩了这么几个坑故分享之,望大家注意。本人水平比较菜,所以都是很基础的东西,高手绕行即可:

与 Rails4 的冲突

在使用 padrino 时,如果系统同时装有 Rails 4.0 的 Gem 将导致padrino-gen报错。盖因 padrino 目前仅支持 activerecord 3.X 版本。解决方案是使用 rvm 的 gemset 或自行建立 gemfile 文件,然后bundle install

重名将导致报错

padrino 的 Model、Sub-APP 以及 Controller 不可重名,否则会引起冲突。如已有 1 个 Sub-APP 名为 user,则再建立 1 个名为 user 的 model 将引起错误。建议给所有的 sub-app 加上后缀。

基于域名的路由仅支持 80 端口

padrino 通过.host('localhost')的形式,将 sub-app 挂载到特定域名时。开发环境下,默认 3000 端口将无法按此路由规则进行正确解析。基于域名的路由,仅在 80 端口生效。对于 Mac OS,建议brew install nginx,然后使用 nginx 作为代理进行转发。因为,在 *nix 系统中,1024 以下的端口必须 root 才可使用。

第一个描述不对吧,只是 gem 版本冲突而已,rails 这枪中的...

第一个的问题, 其实可以用 gemset 解决的, 我是 rails 一个 gemset, sinatra 一个 gemset, padrino 一个 gemset

谢谢学习了
需要 登录 后方可回复, 如果你还没有账号请 注册新账号