Sinatra 关于 padrino 的几个大坑

cn_boris · December 13, 2013 · Last by dingyiming replied at December 10, 2015 · 8752 hits

最近玩 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

谢谢学习了
You need to Sign in before reply, if you don't have an account, please Sign up first.