• 你推荐哪些 gem? at 2013年03月05日

    kaminari:will_paginate 替代品,优点是生成的 html 放在 view 里面,不是代码里面。修改很方便,而且可以设定多套 view。生成器生成的 view 支持 erb,haml 和 slim。

    quiet_assets:看名字就知道了

  • Ruby 和 Rails 的书好老 at 2013年03月05日

    Rails 官方的 Guide,API,Railscasts 学 web 开发足够了。学 Ruby 我还是喜欢 Programming Ruby 这本书

  • 学习 Rails 的心态 at 2013年03月01日

    我原来学 Rails 也有很多疑惑,主要是 Rails 里面很多都是 Convention Over Configuration 的,新手会觉得没写什么代码 Model, View, Controller 三层就莫名其妙的联系起来了。

    我觉得对于约定这东西,

    1. 你可以不去学 Rails 怎么实现的,但你应该知道它是怎么工作的。
    2. Rails 为什么要这样约定。

    比如 controller 的 action 怎么 render 的。你没必要去了解 Rails 内部怎么实现(比如怎么获取 action 名字,再去找相应的 view 模板),但你要知道不写 render 就会默认去找相应的 view,如果你有一些和约定不同的需求该怎么去做。比如你上面的例子,你可以去了解下

    1. 为什么用 respond_to,直接 render 有什么不好的
    2. 看看 respond_with,它能解决什么问题
    3. 如果上面都了解了,可以看看 Responder,但现在不需要去学(这个就属于了解它怎么工作的范畴了)

    说实话我觉得 Rails 其实并不算易上手,这个也许跟其他人观点不同,你看看就行。新手学习 Rails 往往发现敲几行代码就实现了功能,但要自己做一个跟例子不同的东西就傻了。为什么?因为你只做了一半工作,剩下的 Rails 的约定帮你做了。而新手可能还不大理解为什么要这样约定。约定算是一种最佳实践,但最佳实践是要自己积累才明白为什么是最佳实践的……也许这么说挺绕,希望你能明白。

    总之,了解一下 Rails 的约定是个必要过程,了解才能驾驭。不然约定反而会让你觉得束缚。

    祝你玩 Rails 玩的愉快~

  • 在自己机器上装了 Ruby 2.0,跑了一下,rails s 和 rails c 都快了 2 秒左右,1.9.3 下 rails c 大概 9 秒,2.0 花 7 秒。

    用 thin 跑 faye 也没问题(只是启动起来了,具体的没测)。

    目前发现的问题就是 gem -v 挂了……也没查到啥原因

    Error loading RubyGems plugin "/Users/david/.rvm/gems/ruby-2.0.0-p0/gems/yard-0.8.3/lib/rubygems_plugin.rb": cannot load such file -- rubygems/doc_manager (LoadError)
    2.0.0
    
  • 按着势头,估计 Rails 4 正式版一出正式版也会换~

  • 初学 Rails,寻找师傅一枚 at 2013年02月25日

    现在很流行找师傅带?有问题直接上这儿发帖呗

  • 很好的环境~可惜现在有事情还没做完,不然真想去

  • Espresso Framework at 2013年02月21日

    Rails 在性能比较里面就是各种垫底……Ember 在 JavaScript MVC 里也是这个情况……宿命啊

  • Espresso Framework at 2013年02月21日

    看了下这个 Official Presentation ,大概了解了作者的想法,多元化也是个好事,有不同的思路涌现,说不定又出现什么好玩的东西了。 BTW: 形容 Rails 的那张图很搞~

  • 求 rails 的面试题 at 2013年02月21日

    把自己项目中遇到过什么技术问题整理一下,拿去考别人。既找不到答案又贴合公司实际情况。

  • When I show my boss that I've fixed a bug…… When you run your script the first time after several hours working on it……

  • 可能是最酷的 github-page at 2013年02月20日

    牛!

  • 国外是搞技术的人变厉害了,想把经验写下来分享一些东西,所以出书。国内是技术厉害的继续搞技术,技术一般的去写书赚钱……做事情的目的就决定了结果。仅针对“原创”,翻译的不了解……

  • @sevk 拆成 gem 测试和维护也是个问题,测试只能靠 TDD,或者再建一个 example 项目看看显示效果。稍有改动就是版本号升级。。。

  • @xiongbo @tiseheaini find_by 是原来 Rails 2 时代的 API 风格,跟 Rails 3 的查询 API 风格已经不同了,去掉也让人少点迷惑。而且 find_by 是通过 method_missing 执行的,效率比较低。感觉 Rails 随着 API 的规范化,在渐渐的减少 magic method 了。

  • @fengfans 这配置是什么型号的 macbook?很老的款?建议要买就买新款的,自己用的爽也保值。这个配置内存太寒酸了点,至少 4G

  • 当然你如果单纯的想自动化的话,可以写个小脚本,touch 后用 curl 啥的去访问下你的网站域名。用 capistrano 的话就可以直接写在 deploy 文件里

  • 每次 touch tmp/restart.txt之后,Passenger会在下一次接到请求的时候重启instance。这也是touch后第一次比较慢的原因。 这个问题没有很好的解决办法,不过有些方案可以给你参考下:

    1. 你可以 touch 后自己手动把页面刷新一次,配合 min_instance 就不会有问题了。idle_time 是多长时间后没人访问就把多余的 instance 干掉的,但一共保留的 instance 数量不会少于 min_instance。

    2. 设置 passenger_pre_start 选项。原理就是 Passenger 会在 web 服务器(我当时用的 Nginx)重启后,自动发一个请求给 server。效果跟你重启后手动刷一次是一样的。不过这个自动发请求是在 web 服务器重启后才会生效的,等同于你每次要重启 web 服务器。。。真不知道他们怎么脑残的想出这个配置的。。。资料如下 http://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerPreStart

    总的来说,还是 touch 后自己刷新一下比较靠谱。一般重启都是有什么新功能添加上去或者打了啥补丁的,刷新一下顺便也可以看看网站是不是被新代码整挂了~

  • "ta".classify 的结果是什么? at 2013年01月17日

    Rails API 的例子,注意复数词 classify 后会变单数。就是说 Rails 那个单复数转换的规则会影响这个

    "egg_and_hams".classify # => "EggAndHam"
    "posts".classify        # => "Post"
    

    实际上我觉得这货就是用来把 table 名字变类名的。Rails API 原文解释 Create a class name from a plural table name like Rails does for table names to models.

  • @Roam form 套 tr 似乎是不合法的吧。。。如果你的代码是 table 套 form 套 tr 的话。试试把 form 换到 table 层面去

  • bootstrap 似乎很简单 at 2013年01月17日

    @yuanchunfa 是都很漂亮,但 js 质量就不晓得了。我是说,bootstrap 没有提供一些 js 插件的基础架构。项目里总会碰到找第三方插件集成,或者自己写插件的时候。为了保持 API 风格统一,自己写 jQuery 插件一些细节问题都要自己去注意,不难但是写多了很繁琐。这方面 jQuery UI 的 widget 和 ExtJS 都算做的很不错的,但 bootstrap 没有。

  • bootstrap 似乎很简单 at 2013年01月16日

    @yuanchunfa navbar 新版好像默认白色,黑色的是因为加了一个 navbar-inverse 的 class。下拉框显示不出来要么是 html 套错了,要么就是没加载 js,注意标签上看起来没什么用的那几个属性都必须写。 bootstrap 的 js 比较蛋疼,自己用没问题,要扩展起来就不方便了。。。

  • 用户管理架构设计 at 2013年01月16日

    刚吊起胃口就未完待续了,这个分割点,嗯,很到位。。。

    不过这个貌似讨论用户信息怎么划分怎么存放的?信息划分的话,有很多种办法,可以一个表写多个字段,自己区分哪些是哪一类;想美观点的可以分多个 model,做一对一关联。RDBMS 就只能这样划分了。其实我想说的是,信息划分纠结的原因之一,是 RDBMS 对数据存储的限制。

    这点 MongoDB 之类的文档数据库解决的更好,不用纠结为某一类用户单独开的字段强制应用在其他类型用户中,按信息划分,可以做成嵌套数据也可以做关联。不过实现上我还是觉得直接存字段更直观,搞太科学了 ORM 层面的校验和存储又麻烦了。。。

  • 果然是因为他是 Google 的吧...

  • 看完第三件事,我第一个想法 -- 居然看完了。。。

  • 现在还能加入么? 已经在 github 报名贴上回复了。 想通过这个项目贡献点力量,也了解下开源项目的合作方式。会的东西比较杂,不过没做过前端 MVC

  • How Sinatra Works at 2013年01月11日

    @metal 这本书很有用。 前段时间刚看完 Rack,正想着去看看 Sinatra,就看到这个帖子,来得早不如来得巧~

  • iPhone 5 怎么样? at 2013年01月09日

    喜欢,愿意花钱,就买。买了一段时间你就理性了