新手问题 关于 Rails 官方文档

coderek · 2018年03月20日 · 最后由 lingceng 回复于 2018年03月23日 · 4159 次阅读

感觉官方的文档 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

对 jasl 回复

您好,请问 controller 的 action methods 中的一些变量如何查看?比如,params

首先 Rails 是很活的,如果你习惯了 Java Python 这些相对比较“死”的语言,那可能会很难接受。

至于 params,不是变量而是函数吧……

对 imwildcat 回复

就说 params 吧,说个简单方法,控制器的 action 里写个 raise,然后访问那个 action,异常了,在 Web console 里,输入 params.class 就暴露他的类型了,嘛...

对 jasl 回复

明白了,所以大多数情况都是运行时查看?

感谢!

对 imwildcat 回复

这样最简单吧,另外一些开发技巧类的博文、指南也能获得一些(比如 http://blog.bigbinary.com/),否则即使直接给你 API doc,也需要先简单过一遍源码理顺类之间的关系才能够进行有目的的浏览,换个语言也会是这样子。

对 imwildcat 回复

http://guides.rubyonrails.org/ 我建议多读读的,对一些普遍的功能也有详细的介绍,还是你刚提的 Controller 方面的东西 http://guides.rubyonrails.org/action_controller_overview.html

另外里面藏了很多最佳实践,比如之前华顺给我写的一个 PR

对 jasl 回复

十分感谢!controller 当然是比较熟悉,这里只是拿一个大家都熟悉的举个例子而已。

对 jasl 回复

这是 controller 的吗? 具体我想知道 Controller 除了 take in :status, :action 还有什么其他的玩法。 我知道 Ruby/rails 很 dynamic,rubydoc 也是自动生成的。但这些总得 Document 出来吧。

不过也只能看 Guide 了,虽然不是太方便

对 coderek 回复

这些文档当然是写在代码里的,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 方法精确的在某个类里

对 jasl 回复

谢谢,受教了!

对 coderek 回复

另外我还是推荐刚提到的 guides 的网站,里面很多玩法(主要是 Advanced 部分),写过几年的高手都未必知道的,基本用法、提升完全可以靠 guides。

当然,真正的黑科技玩法,还是得读源码~

render 方法我也比较困惑,看看这里 https://ruby-china.org/topics/35305

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