分享 向社区的朋友推荐自己的书《Rails 实践》

liwei78 · 2015年09月08日 · 最后由 lengcb 回复于 2018年06月25日 · 15298 次阅读
本帖已被设为精华帖!

推荐自己的书,实在诚惶诚恐。

这是第一次写书,从 2 月 11 日到 6 月 29 日,总共用了四个半月的时间。书中的内容是按照自己的想法组织的,每个章节的内容来自对 Rails 手册的理解,api 的阅读体会,以及开发中的一点点心得。这本书,我一直称它为经验的合订本,也是写给自己多年开发经验的总结。

我的技术成长并非一帆风顺,在写这本书的时间里,我不断的回顾各种代码细节,也不断的补充知识内容。回头看来,这对我现在的项目开发很有益处。我想,一个人的技术成长有各自的方式,四个半月,可以做一个代码项目,也可以写出一本书来,从性格上,我更适合后者。

Ruby China 社区是国内最好的 Ruby 开发社区,这里有大量的经验分享,也有一群热心的人帮助解决开发中遇到的各种问题。能够从事 Rails 开发,并且身边有一个如此活跃、高质量的社区,实在是件幸运事。它对我的技术成长有着巨大的帮助,所以,这个社区会一直出现在书的感谢列表中。

现在,我把这本书正式的介绍给社区的朋友们。之前在社区里回复别人帖子的时候,贴过书里的连接,那时候,我觉得书的内容还不是很充分,所以只在自己微信朋友圈分享过,但得到的反馈还是有限的,作为一个写作上的新手,还是很期望得到别人更多的反馈。所以这次正式贴出来,希望朋友们不吝赐教,督促我改进和提高书中内容。

再次,感谢社区的朋友们。

阅读地址:http://rails-practice.com/content/

我就是看着里克的博客 长大的 开始学习 Rails 的,里克出书,必须支持!👍 👍 👍

#1 楼 @lgn21st 太客气了,太客气了。

手动点个赞。(有没有打算把 RSpec 也加入?

#2 楼 @liwei78 我是看着里克的书长大的 😄

#2 楼 @liwei78 我是看着里克的书长大的 😄

顶一个!

支持 谢谢分享贡献

赞分享精神。

恩,有空一定要拜读一下!

尽然是我以前看过,并收藏过的。现在才自己作者

@liwei78 感谢你的分享,你写的《Rails 实践》实践,我已经在半个月前用 kindle 阅读完成,并有所收获,值得推荐。

非常赞,有其 Ajax 这部分我学习到很多!

赞,慢慢拜读

#3 楼 @msg7086 rspec 的内容没有单独讲,因为我觉得 M 和 C 很需要它,就在相关章节的最后附带上了 rspec 测试内容。而且这本书没法做到面面俱到,rspec 的内容我贴了安道那本书的地址。

谢谢楼上各位。

必须支持一下,感谢楼主。

@liwei78 强力推荐!

@lyfi2003 老李有段时间没露面了,还以为人间蒸发了呢!

:plus1: 默默的加入读书列表。

顶顶顶~~~

感谢 lz, http://rails-practice.com/content/Chapter_3/3.2.html 最后一行 代码在这里,链接失效

#23 楼 @zealinux 谢谢,已 fix。

#20 楼 @douxiance 忙起来了, 露面少了 :)

厉害,最近开始接触 ROR,但都是碎片化的学习,像这么系统的把实践结合在一起的中文书不多见。准备好好拜读,谢谢!

感谢@liwei78 书中的标点符号都是垂直居中,有点不习惯。

超棒的

#25 楼 @lyfi2003 是呀,好久没见你了

支持楼主

勘误: http://rails-practice.com/content/Chapter_3/3.3.html 当我们书里大量数据的时候

应该是 “处理” 吧

#30 楼 @peter 谢谢,已 fix。

#27 楼 @jazzi 是呀,gitbook 的中文支持的确不好看,尤其 pdf。

6.29 就写好了~~

#31 楼 @liwei78 gitbook 本地生成可以调用系统字体解决。

赞!赞!,也想做一套基础的教程,没耐心啊!

支持一次👌

大赞,👍,感谢分享!

#33 楼 @rei 谢谢提醒,我在尝试转,还没成功。

#34 楼 @michael_roshen 的确,非常考验耐心,尤其在写到一半的时候。

http://rails-practice.com/content/ 这种目录结构使用什么框架写的吗,以前也看到过类似的

@liwei78 支持,记得 RJS 刚出来的时候,你的博客连续发了好几篇优质博文。

#41 楼 @martin RJS 的文章是 @victor 的作品, 后来博客内容换来换去,作者换成我了,但是内容都是他写的。

赞一个,:plus:

非常喜欢《Rails 实践》,感谢@liwei78

....看着控制器不如"controller"顺眼.....哈哈哈

#45 楼 @cqcn1991 是呢,其实标题之前是中英文混写,但是太长,后来去掉了英文。控制器也是中文里对 controller 的一贯译法,也就用了,文章里好像还是用 controller 较多。嘿嘿。

如果什么时候准备出版的话,还是需要再仔细校正一些通假字。 虽然大家都可以理解,但若是碰到完全的新手,难免会造成小小的误解。 我想这个肯定不是楼主所期望的。

#47 楼 @douxiance 是的,写的时候缺少经验,而且刚开始的时候过多口语化表达,难免有让人不解的用词。写到后面才感觉略好,用词拿捏也准确了一些。不过这个过程实在漫长,有时候像是自言自语,嘿嘿。

#48 楼 @liwei78 其实迭代一下就好了。有认真读书的人给反馈就行~ 话说这就是在线出版的好处哈哈哈

不错哦, 先加收藏。 顶

赞赞赞!

大赞!

感谢!

大赞,新人,求关照

已经将 mobi 格式的传送到 kindle,再次感谢楼主! :plus1:

我能说这是看过的最好的最适合新手的实践吗?

@easonlovewan 我想说是刚刚从官方rails入门继续前进的最佳选择,没有之一。

#57 楼 @douxiance 可能我这种说法过于主观,不过确实很棒!

非常感谢。

你是长春人的骄傲! :plus1: :plus1: :plus1:

#60 楼 @ery 过奖了,真的,我只是个普普通通的开发者。

#58 楼 @easonlovewan 谢谢。从 4.0 开始,我经常翻 rails guides,因为有一年时间没有接触新版本 rails,所以从 3 到 4 的过程中发现很多陌生的地方,而且越来越觉得自己对 rails 的了解仅限于解决眼前的问题。手册翻了好多好多遍之后,我感觉很多的知识点是可以通过某些形式串联起来的,于是就想系统的把感悟写出来。我想,如果你很熟悉 rails guides 的话,这本书会帮助你熟悉 guides 中的内容如何应用到项目中。

再次感谢楼上各位朋友。

#61 楼 @liwei78 今天看了前三章,感觉很系统,不过可以结合着 guides 一起看!再次感谢为我们这些新手提供这么优秀的资料🙏

谢谢楼主的无私奉献,作为新人,一定认真拜读

楼主辛苦。拜读!

大赞 很 nice 楼主辛苦了

正在看,文档美观、截图正规,感觉适合已经入门的 rails,真正的 rails 初学者不建议看

@dayudodo 真正的rails初学者应该是指连HTML 这些 Web 有关的基础知识都未入门的小白吧! 我想能从JSPPHPASP.NET等大众 Web 技术的重重封堵下坚定的看好·rails的人应该都是过了那个小白的关卡! 面对rails有很多新手,但面对 Web 却都是老战友了。

#66 楼 @dayudodo #67 楼 @douxiance

我觉得初次接触 rails 的朋友,还是应该看看大家都看过的 Rails 敏捷开发,Rails way 这种书比较合适,或者网络上的课程,跟着视频写写代码,然后看看 Rails Guides 和 API 文档。当然,不管什么时候看这本书,都要同时看其他的资料,书里引用了大量的连接,包括其他一些优秀的书籍。

至于刚接触 web 编程的朋友,还是应该从 html,css,js 开始熟悉编程,了解原理。Ruby 是一个工具,可以帮助我们写出更好的 html。所以从事 web 开发,还是要从 html 开始比较合适吧。

不错!

没有实体书可以买吗?

#70 楼 @greatghoul 没有,这本书目前只打算出网络版。里面很多扩展的链接还是网页上看方便些。

谢谢分享。。。。。

谢谢分享

看到书中第二章文件简介部分,就觉得遇到知音了,如果是我写,也是先把这些介绍清楚,在开始阶段,别的都是虚的,拿到一个项目哪个文件夹的文件是干什么的都搞不清楚,那基本没得玩了。赞一个。

看你写的竟然做过站了,对我帮助很大,👍 👍 👍 👍 👍 👍

Heroku | No such app ...

#74 楼 @realwol 谢谢 #75 楼 @tianlitao 谢谢 #76 楼 @sytao 我没有用 heroku 搭建演示

好书 必须得顶

刚开始看,感觉是我接触最好的教程,必须点赞!希望能继续坚持,出书必买

好学习中。

看完了,好书,必须顶一下。

简单看了下,写的很棒!!!

精品。 这是看到末尾的时候,实在忍不住想说的一句。

谢谢楼上各位的肯定 ^_^

不好意思,最近想体验一下 Ruby,于是看您的书学习,遇见个问题,百度了没找到解决方案,发帖又刚注册,比较尴尬,所以才借贵宝地提个问,学校最近更新网络架构,墙比较厉害,根本无法科学上网 Google,实在找不到了才来问的!
我是按照您的书步骤来的,安装好rvm,在.zshrc添加 PATH

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export PATH="$PATH:$HOME/.rvm/bin"

本机的一些参数,在 segmentfault 找到了一个淘宝源命令,改了一下源。 sed -i .bak 's!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db

➜  ~  ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
➜  ~  gem -v
2.0.14
➜  ~  rvm -v
rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
➜  ~  rails
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

rvm install 2.2.0进行安装,能安装,但是报错如下,能 use,但是无法安装 rails。

Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.10/x86_64/ruby-2.2.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/Yugo/.rvm/rubies/ruby-2.2.0, this may take a while depending on your cpu(s)...
ruby-2.2.0 - #downloading ruby-2.2.0, this may take a while depending on your connection...
ruby-2.2.0 - #extracting ruby-2.2.0 to /Users/Yugo/.rvm/src/ruby-2.2.0 - please wait
ruby-2.2.0 - #applying patch /Users/Yugo/.rvm/patches/ruby/2.2.0/fix_installing_bundled_gems.patch - please wait
ruby-2.2.0 - #configuring - please wait
ruby-2.2.0 - #post-configuration - please wait
ruby-2.2.0 - #compiling - please wait
ruby-2.2.0 - #installing - please wait
Error running '__rvm_make install',
showing last 15 lines of /Users/Yugo/.rvm/log/1442124916_ruby-2.2.0/install.log
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/spec_fetcher.rb:42:in `fetcher'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/resolver/installer_set.rb:37:in `initialize'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:430:in `new'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:430:in `resolve_dependencies'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:373:in `install'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems.rb:558:in `install'
    from ./tool/rbinstall.rb:717:in `block (2 levels) in <main>'
    from ./tool/rbinstall.rb:716:in `each'
    from ./tool/rbinstall.rb:716:in `block in <main>'
    from ./tool/rbinstall.rb:749:in `call'
    from ./tool/rbinstall.rb:749:in `block in <main>'
    from ./tool/rbinstall.rb:746:in `each'
    from ./tool/rbinstall.rb:746:in `<main>'
make: *** [do-install-nodoc] Error 1
+__rvm_make:0> return 2
There has been an error while running make install. Halting the installation.

#85 楼 @yugo hi,估计是网络问题,用下面的方法,把本地的数据源改成淘宝:

gem sources -l 查看列表
gem sources -r https://rubygems.org/ 删除掉本地的源
gem sources -a https://ruby.taobao.org/ 添加淘宝到环境

如果校验 cert 失败,可以不用 https://xxx,改成 http://xxxxx

然后再安装,对于没有安装成功的 gem,建议先 gem uninstall xxx ,安装的时候,尤其是 rails,可以使用

gem install rails --no-ri --no-rdoc 可以节省时间。google 如果翻墙不行,可以用 bing.com 或百度,一些常见问题百度还是能找到一点靠谱答案的。

#86 楼 @liwei78 你好~

➜  ~  gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org/

查看了一下就是淘宝的源。主要是安装 rvm install 2.2.0 出错,重新安装,涛声依旧。 😭,还是这个错误,我相信上天是公平的,毕竟颜值在那放着。我去试试 vagrant,生命不息,折腾不止。

#87 楼 @yugo 估计这个有用吧,试试看。

#89 楼 @chenge
it not worked. #88 楼 @liwei78 这让我的命令行瞬间爆炸~

➜  ~  gem sources --remove https://ruby.taobao.org/
/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/yaml.rb:4:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle, 9): Library not loaded: /usr/local/opt/libyaml/lib/libyaml-0.2.dylib (LoadError)
  Referenced from: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle
  Reason: image not found - /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/psych.rb:1:in `<top (required)>'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/yaml.rb:5:in `<top (required)>'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems.rb:624:in `load_yaml'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/config_file.rb:328:in `load_file'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/config_file.rb:197:in `initialize'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `new'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `do_configuration'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:39:in `run'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/bin/gem:21:in `<main>'
➜  ~  gem sources -l
/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/yaml.rb:4:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle, 9): Library not loaded: /usr/local/opt/libyaml/lib/libyaml-0.2.dylib (LoadError)
  Referenced from: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle
  Reason: image not found - /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/psych.rb:1:in `<top (required)>'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/yaml.rb:5:in `<top (required)>'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems.rb:624:in `load_yaml'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/config_file.rb:328:in `load_file'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/config_file.rb:197:in `initialize'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `new'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `do_configuration'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:39:in `run'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/bin/gem:21:in `<main>'
➜  ~  gem sources -a http://ruby.taobao.org/
/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/yaml.rb:4:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle, 9): Library not loaded: /usr/local/opt/libyaml/lib/libyaml-0.2.dylib (LoadError)
  Referenced from: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle
  Reason: image not found - /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14/psych.bundle
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/psych.rb:1:in `<top (required)>'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/yaml.rb:5:in `<top (required)>'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems.rb:624:in `load_yaml'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/config_file.rb:328:in `load_file'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/config_file.rb:197:in `initialize'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `new'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `do_configuration'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/gem_runner.rb:39:in `run'
    from /Users/Yugo/.rvm/rubies/ruby-2.2.0/bin/gem:21:in `<main>'

#90 楼 @yugo 建议你先按照 http://rvm.io/rvm/install 安装最新的 rvm,然后重新安装 ruby,目前可以装 ruby 2.2.2,写书的时候还是 2.2.0。

Error running '__rvm_make install',我是根据这个搜索的。

rvm get head更新 rvm rvm reinstall 2.2.0重新安装。 试一下,不行的话,贴图看问题在哪里吧。

#89 楼 @chenge #86 楼 @liwei78 感谢您们的细心解答。我自己再研究研究,争取把坑全踩完,之后发一篇分享。 这是我 MAC 下面生成了 Log 文件,安装 2.2.1,依旧一样。不过我 vagrant 里面的安装成功了。

# ubuntu vagrant

# mac install.log
+__rvm_make:0> make install
config.status: creating x86_64-darwin14-fake.rb
    CC = gcc
    LD = ld
    LDSHARED = gcc -dynamiclib
    CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens   -fno-common -pipe
    XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT
    CPPFLAGS = -I/usr/local/Cellar/libyaml/0.1.6_1/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -I. -I.ext/include/x86_64-darwin14 -I./include -I.
    DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/usr/local/Cellar/libyaml/0.1.6_1/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib  -install_name /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/libruby.2.2.0.dylib -current_version 2.2.0 -compatibility_version 2.2.0  -fstack-protector -Wl,-u,_objc_msgSend -framework CoreFoundation  -fstack-protector -Wl,-u,_objc_msgSend -framework CoreFoundation
    SOLIBS = -lpthread -ldl -lobjc
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.4.0
Thread model: posix
making enc
make[1]: Nothing to be done for `enc'.
making srcs under enc
make[1]: Nothing to be done for `srcs'.
generating transdb.h
transdb.h unchanged
making trans
make[1]: Nothing to be done for `./enc/trans'.
making encs
generating makefile exts.mk
Failed to configure -test-/win32/console. It will not be installed.
Failed to configure -test-/win32/dln. It will not be installed.
Failed to configure -test-/win32/dln/empty. It will not be installed.
Failed to configure -test-/win32/fd_setsize. It will not be installed.
Failed to configure gdbm. It will not be installed.
configuring socket
Failed to configure tk. It will not be installed.
Failed to configure tk/tkutil. It will not be installed.
Failed to configure win32. It will not be installed.
Failed to configure win32ole. It will not be installed.
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all'.
installing default bigdecimal libraries
installing default date_core libraries
installing digest libraries
installing default digest libraries
installing default sha2 libraries
installing default fiddle libraries
make[2]: Nothing to be done for `all'.
installing default console libraries
installing default libraries
installing default nkf libraries
installing default openssl libraries
installing default pathname libraries
installing default psych libraries
installing default pty libraries
linking shared-object ripper.bundle
installing default ripper libraries
checking ../.././parse.y and ../.././ext/ripper/eventids2.c
linking shared-object socket.bundle
installing default socket libraries
installing default syslog libraries
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all'.
make[2]: `ruby' is up to date.
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -r./x86_64-darwin14-fake ./tool/rbinstall.rb --make="/Applications/Xcode.app/Contents/Developer/usr/bin/make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
installing binary commands:   /Users/Yugo/.rvm/rubies/ruby-2.2.0/bin
installing base libraries:    /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib
installing arch files:        /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14
installing pkgconfig data:    /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/pkgconfig
installing command scripts:   /Users/Yugo/.rvm/rubies/ruby-2.2.0/bin
installing library scripts:   /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0
installing common headers:    /Users/Yugo/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0
installing manpages:          /Users/Yugo/.rvm/rubies/ruby-2.2.0/share/man/man1
installing extension objects: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin14
installing extension objects: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/x86_64-darwin14
installing extension objects: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/vendor_ruby/2.2.0/x86_64-darwin14
installing extension headers: /Users/Yugo/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/x86_64-darwin14
installing extension scripts: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0
installing extension scripts: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0
installing extension scripts: /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/vendor_ruby/2.2.0
installing extension headers: /Users/Yugo/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/ruby
installing default gems:      /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0 (build_info, cache, doc, extensions, gems, specifications)
                              bigdecimal 1.2.6
                              io-console 0.4.3
                              json 1.8.1
                              psych 2.0.8
                              rake 10.4.2
                              rdoc 4.2.0
installing bundle gems:       /Users/Yugo/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0 (build_info, cache, doc, extensions, gems, specifications)
/Users/Yugo/.rvm/src/ruby-2.2.0/lib/yaml.rb:4:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/Yugo/.rvm/src/ruby-2.2.0/.ext/x86_64-darwin14/psych.bundle, 9): Library not loaded: /usr/local/opt/libyaml/lib/libyaml-0.2.dylib (LoadError)
  Referenced from: /Users/Yugo/.rvm/src/ruby-2.2.0/.ext/x86_64-darwin14/psych.bundle
  Reason: image not found - /Users/Yugo/.rvm/src/ruby-2.2.0/.ext/x86_64-darwin14/psych.bundle
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/.ext/common/psych.rb:1:in `<top (required)>'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/yaml.rb:5:in `<top (required)>'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems.rb:624:in `load_yaml'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/config_file.rb:328:in `load_file'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/config_file.rb:197:in `initialize'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems.rb:297:in `new'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems.rb:297:in `configuration'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/remote_fetcher.rb:51:in `fetcher'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/spec_fetcher.rb:76:in `initialize'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/spec_fetcher.rb:42:in `new'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/spec_fetcher.rb:42:in `fetcher'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/resolver/installer_set.rb:37:in `initialize'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:430:in `new'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:430:in `resolve_dependencies'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:373:in `install'
    from /Users/Yugo/.rvm/src/ruby-2.2.0/lib/rubygems.rb:558:in `install'
    from ./tool/rbinstall.rb:717:in `block (2 levels) in <main>'
    from ./tool/rbinstall.rb:716:in `each'
    from ./tool/rbinstall.rb:716:in `block in <main>'
    from ./tool/rbinstall.rb:749:in `call'
    from ./tool/rbinstall.rb:749:in `block in <main>'
    from ./tool/rbinstall.rb:746:in `each'
    from ./tool/rbinstall.rb:746:in `<main>'
make: *** [do-install-nodoc] Error 1
+__rvm_make:0> return 2

#93 楼 @yugo 说实在的,看 log 不是个愉快的事情。我搜索了第一个 error。

来自这个链接: http://stackoverflow.com/questions/9434002/how-to-solve-ruby-installation-is-missing-psych-error

#94 楼 @chenge

Warning: libyaml-0.1.6_1 already installed, it's just not linked

reinstall也是一样的

感谢楼主分享自己的成果.

正在拜读,非常感谢。

楼主好样的,正是因为社区里有你这样的无私分享的人,才让社区如此活跃!

@liwei78 李伟出书的贴子必段要顶一下,想当年我们合作开发百草网,用得是 rails 2.2。后面我们准备重走 rails 之路,再用 rails 做个论坛,呵呵。

赞赞赞 非常好看 干货满满

#99 楼 @pingfengsoft 哇,谢谢,这可真是老朋友啦。

@liwei78 多年来一直潜水,老伙计上来,我就冒泡了!拥抱一下,伙计。

非常感谢!

行文流畅、言语幽默、简练实用、受益匪浅,感谢里克的无私奉献!@liwei78

谢谢无私奉献,再卡壳的小伙伴向您致意啊!!!

赞,回头有时间买本看看

说声谢谢吧。楼主写得很好,推荐的书也都很不错。

求大神,指点下, 如何学习 ruby 没有什么头绪

感谢楼上的肯定。

#108 楼 @coder_zzx Ruby 的学习资料我没有太多,这里有一些 Rails 的资料 http://railsgirlschina.org/topics/64

另:我只是个普普通通的开发者 :)

真是本好书!

正在看,写的很棒,看过再过来讨论

卧槽这本书的完稿时间正好是我的生日!

我在极客学院上看了你做的那个视频,但是有一点,你在第三个视频里面,那个 admin 那个是怎么做的?

#114 楼 @hewe 那个 admin 只是用了另外一套 bootswatch 的 theme 和 layout。这套视频我个人觉得讲的不好,缺少经验,第一次录视频,好奇心更大一些,后来把精力都放到书上了。而且那个视频是收费的,和我目前的想法不一样,所以就去掉它的连接了。谢谢你能发现它,那个录的不好,因为不会录,所以录的时间长,如果你细听,会发现里面声音变来变去的,因为一句话和下一句话,虽然只有 0.5 秒的间隔,可能是隔了一天录得。第四章录了一点点,感觉讲的难度太大太大,就停掉了,至今小编还揪住不放乜。嘿嘿。

谢谢分享,作为初学者,学到不少知识。

看第一章 第三节

执行:rails g scaffold product name price:decimal description:text

出现错误提示:.rvm/gems/ruby-2.2.0@rails4.2/gems/less-rails-2.7.0/lib/less/rails/railtie.rb:19:in block in <class:Railtie>': undefined methodregister_preprocessor' for nil:NilClass (NoMethodError)

楼主能帮看看吗?试了半天过不去啊

#117 楼 @hxygsh 请重新 bundle install 试试,或者 clone 这个代码试试 https://github.com/liwei78/rails-practice-code/tree/master/chapter_1/shop

#115 楼 @liwei78 可以在书里面添加一些后台管理和用户的注册和登陆的教程吗?

#119 楼 @hewe 在书里我提到了,后台管理可以用 responders 来处理,其实我现在三个项目都是用它在做,还是很方便的。登录和注册已经有 devise 演示了,当然,更详细的还得看 readme。

#120 楼 @liwei78 下一部视频还会出吗?小编催的不给力啊。嘿嘿

#121 楼 @hewe 不会,后面的视频意义不大,不如看书。

太好了,先看看。

一直拜读 受益匪浅

还是 web 版本的看着舒服。kw 版本排版还需改进一下。

不错。

阅读完成,感谢作者。👍

非常感谢!把这么好的东西分享出来,排版整洁,看着特别舒服!

http://download.csdn.net/detail/xia4o/9148459 微软 2015 校园招聘 笔试题.rar

支持下,不错

感谢楼主的书稿,楼主能不能把它好好完善一下然后出版呢?

#132 楼 @775343518 暂时没有计划出纸质书,目前的重点是积累经验,对于非技术的事情木有计划。

写书还是新手,最近看了很多书,也学到很多写作技巧,在完成最近的开发任务后,会对书里的内容做一个整理和增补的 :)

再次感谢楼上各位的关注和鼓励,谢谢大家。

@liwei78 3.3 以后的代码在 ruby2.2.1,rails4.2.5 下貌似都报错 variable @ glyphiconsEotPath is undefined 错误,是 gem 没更新吗?

好书。正在学习。

#61 楼 @liwei78 手册翻了好多好多遍之后,我感觉很多的知识点是可以通过某些形式串联起来的,于是就想系统的把感悟写出来。严重同意楼主的观点。 说一下我自己学习 Rails 的经历吧。

本人会 Java,之前完全没有接触过 Ruby/Rails

最初激起我学 rails 兴趣的是Cloud 9上的 Rails Tutorial 模板。 该模板基于Michael Hartl 的书 Ruby on Rails Tutorial,为用户提供了一下在线学习 Rails 的易用环境,无需为 Ruby/Rails/git/Heroku 等的安装为烦恼,所以这些在你创建了 workspace 后即可以使用。 我非常喜欢 Tutorial 系列的教程,可以按照教程中的步骤一步步实践,在学习 Rails 的同时,Micheal 还顺带教大家如何使用 git/bitbucket/heroku 这些非常流行的工具/平台。

#136 楼 @midikang 谢谢。这本书我可以说是写给自己的经验总结。

最近想打印出来仔细读一下,但是极客注册老是失败是什么问题?

而且这么好的书建议出版纸质的,我第一个买😁

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册