感觉官方的文档 http://api.rubyonrails.org/ 真的很乱。 比如我想找 controller render function 有哪些 parameters,找了半天都还是不知道。难道 rails 就没有像 Java Doc 或者 django 一样格式的文档吗?
搜 render
这不就是么... 顺带一提,rdoc 就是 Ruby 版本的 javadoc,你发的那个网站就是利用 rdoc 生成出来的。
另外因为 rdoc 跟 javadoc 一样都是写在方法上部的,装个 RubyMine,按住 CMD 点方法名,就直接跳到定义了,然后就可以直接看文档,不用搜
不过这些必用的组件,看 guides 比 API doc 要好,解释详尽,而且也介绍了很多最佳实践 http://guides.rubyonrails.org/layouts_and_rendering.html#using-render
首先 Rails 是很活的,如果你习惯了 Java Python 这些相对比较“死”的语言,那可能会很难接受。
至于 params,不是变量而是函数吧……
就说 params
吧,说个简单方法,控制器的 action 里写个 raise,然后访问那个 action,异常了,在 Web console 里,输入 params.class
就暴露他的类型了,嘛...
这样最简单吧,另外一些开发技巧类的博文、指南也能获得一些(比如 http://blog.bigbinary.com/),否则即使直接给你 API doc,也需要先简单过一遍源码理顺类之间的关系才能够进行有目的的浏览,换个语言也会是这样子。
http://guides.rubyonrails.org/ 我建议多读读的,对一些普遍的功能也有详细的介绍,还是你刚提的 Controller 方面的东西 http://guides.rubyonrails.org/action_controller_overview.html
另外里面藏了很多最佳实践,比如之前华顺给我写的一个 PR
这是 controller 的吗? 具体我想知道 Controller 除了 take in :status, :action 还有什么其他的玩法。 我知道 Ruby/rails 很 dynamic,rubydoc 也是自动生成的。但这些总得 Document 出来吧。
不过也只能看 Guide 了,虽然不是太方便
这些文档当然是写在代码里的,rdoc 跟 javadoc 是一模一样的东西,比如截图里的文档出自 https://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/rendering_helper.rb#L11-L28 另外 javadoc 也可以生成这样的网站来,这种东西基本是各大语言的标配
Rails 绝大部分(不敢说所有)对外暴露的方法都是有很全面文档的,只不过你这样看 doc 方式有个缺点就是不太容易搞清楚方法来自于哪里,因为 Ruby 有 module 这种做为组合的语言设施,不像 Java 方法精确的在某个类里
另外我还是推荐刚提到的 guides 的网站,里面很多玩法(主要是 Advanced 部分),写过几年的高手都未必知道的,基本用法、提升完全可以靠 guides。
当然,真正的黑科技玩法,还是得读源码~