瞎扯淡 有多少童鞋看过 Rails Tutorial 之后还无从下手的?

cqcn1991 · 2014年04月09日 · 最后由 cassiuschen 回复于 2014年04月12日 · 3150 次阅读

做个小调查,看看有没有童鞋需要这方面的帮助 因为之前也是这个卡了很久,就是看了 Rails Tutorial 或者 CodeSchol 之后,到真正实现自己的小想法(原型)还有一小步的距离。如果有需要的话,我可以写一点经验

注意:主要是对于 0 基础初学 Rails 的童鞋,不是专业工程师的那种

为啥非要学 rails 啊? 如果楼主认准 rails 了,就忽略我下面的话吧 可以简单了解下比较小的框架,比如 Sinatra,比如 web.py。python 本来就比 ruby 精简很多。rails 又具大无比。 觉得还可以考虑下 head first 的 html 和 php。也是不错的选择。 觉得学习这东西始终挑最容易的学比较好。。。

#1 楼 @yfractal Sinatra 比 Rails 难多了,难在要学什么都要自己摸索。

无从下手的原因就是丫的就没下手。AWDWR 和 Rails Tutorial 看其中一本之后,就应该找个点子自己去做了,之前看过楼主的帖子,应该也是从实战过来的。

当然,提供一些基本入门的资料可以提高初学者 get hands dirty 的勇气,但终究能否迈出这一步要看自己。

最近在学校里尝试带几位师弟学 Rails,看完 Tutorial 就丢项目给他们了。

这两天好像都在提 Rails Tutorial 大家说的是 Michael Heartl 的带视频的那个嘛?

我觉得跟着视频敲一遍的话效果还不错 以后自己要做东西可以跑回来再看一下自己的 code, 看类似问题是怎么解决的

一遍看不懂那就多看几遍,照着上面的代码写,先保证能运行,不懂的慢慢消化,web 涉及的东西本来就很多,楼主要着重去做你想做的,不要发散

#1 楼 @yfractal 从 0 开始才是真的复杂

#6 楼 @lidashuang 。。。神出鬼没。。

看了楼主的分享,还是很实用的。

rails 的教学方式,其实犯了一个根本错误,就是“邪恶的向导”(《程序员的修炼之道》)。讽刺的是犯错的正是书的作者 Dave。他是第一个写 tutorial 的人。一上来就是 generate,生成一堆东西。学习者跟着模仿,不懂原理。

正确的学法,应该是学习 Ruby+web 的常识课程,一周时间可以入门了,不需要很高的水平,纯粹手工写,《Learning Rails》似乎是这个思路,不知道有没有中文版。懂了,再去用 generate。

软件都有复杂化的倾向,既有功能的需要,也有一些开发者利益的问题。如果你离开一段时间回来,会发现冒出来一大堆没听说过的名词,什么 pipeline 之类的。

分享一点我的 rails 项目经历。我是从 1.0 开始的,本来想做一个类似豆瓣的东西,后来发现难度太大就放弃了。后来我去做了一段时间 php,Ruby 情结又让我回来了,发现已经 3.0 了,进步了很多,学习依然困难。

12 年我接触了一个商业项目,我可以跑起来,涉及很多插件,里面的原理我真不懂。

13 年开发一个小项目,我自己琢磨了一个简化模式,http://ruby-china.org/topics/8357

现在做一个商业项目,难度还是有,基本能应付。

有一个经验谈,就是用多少学多少。重视基础的学习 rhcj(RubyHtmlCssJs),那些变化慢。

#2 楼 @Rei 我只知道 Sinatra 比 rails 简单。。。你的意思是说,资料什么的不全吗?我想我对 Sinatra 的看法是错误的。。。

#6 楼 @lidashuang 能具体说明吗?

人家开头就说了,Rails Tutorial 不是面向纯新手的

Inexperienced programmers: The Rails Tutorial is not aimed principally at beginning programmers, and web applications, even relatively simple ones, are by their nature fairly complex.

不过对我(非职业 web 开发人员)来说,Rails Guides 更合适一些。

Rails Tutorial 适合有编程或者 web 编程经验的小伙伴们。 你不属于这个范畴的话,还是先看看敏捷开发好点。

#10 楼 @yfractal 要写 hello world,sinatra 很简单,要写真实的应用就多做很多工作。比如要预防 csrf,就要加上 rack:csrf 模块,但新手的问题是根本不知道 csrf 这个东西,而这在 rails 里面是内置的。还有很多这样的问题需要自己自己,比如 文件结构,Assets Pipeline,ORM,Cache,Mailer……

渐渐的会整理出一套适合自己的扩展集和约定,然后会发现越来越像 Rails,但只有自己在使用和维护,完善程度和安全性都不如 Rails。

我觉得 rails 官网的 guide 看完就能写代码了,看 guide 时对着 api 看,guide 中出现的不懂的可以去查查 api,这样学习效率比较高。然后就是遇到问题多用 stackoverflow 查。如果只看一些教程,跟着做完,确实效果不大。要在学习的过程中知其然知其所以然,这样才能真正的掌握。学会解决问题的方法比解决问题本身更重要。

#10 楼 @yfractal 同意 Rei 的说法,写 hello world 是 sinatra 简单,真要是做项目,sinatra 提供的又太少

#13 楼 @Rei #15 楼 @lidashuang 非常赞同!rails 提供了非常多的便利!觉得写 sinatra 是上手容易,但真正写好了,很困难,对程序员的要求很高!

但如果只从学的角度考虑呢?觉得 web 开发,还要学习 html,css。这些相对简单,也容易上手,入门什么的应该也说的过去。php 的好处是直观(不框架什么的),php 直接嵌在 html 内,比较容易理解,再比如 url 也和文件有个简单的对应关系。而 rails 有很的封装和约定的东西,觉得对于新人理解起来并不容易。

觉得学习来讲,循序渐进比较重要,当然这个也和人有关。当然,如果考虑到楼主需求的特殊性,学习 rails 也是不错的选择!

#16 楼 @yfractal 觉得从学习需要的成就感反馈看,也许 Rails 会更好……在对 Rails 有一定了解后回头学 Sinatra 会非常酷,而且能同时明白 Rails 和 Sinatra 各有各的好 ~

楼主真是及时雨,我就是卡在这里了,Rails Tutorial 基本看完,代码也敲了几遍,现在的状态就是要说完全不懂,也不完全是,但是想做点什么又不知道如何下手。

#18 楼 @sphawkcn 之前写的内容嫌长被我删了 主要是看你是哪个向的。我是自己有想法,就自己写原型,然后碰到具体问题就具体解决,比如: Vote/Like功能(对于喜欢的帖子,我们可以投票+1赞),我就去google 'Rails Vote', 然后就找到了相关的 gem 和 stackoverflow 上的问答,和 railscast 的教程,这样照着写,就写出来一个功能了。具体实现的时候碰到小问题,又会去上 stackoverflow 直接问

之前写过一个草稿,你可以先看看http://www.douban.com/note/323005582/

我想表述的就是通过google搜索,然后使用stackoverflow, RailsCast这些东西来解决问题

其实就我带 0 基础新人的经验来看…先读 guides 的 start up 版,至少要把代码照抄然后跑通一边,之后仿照范例 blog 的技术栈做一个类似的东西练手,期间因为代码不能照抄所以要他们一点点抠明白,等写完基本上就有能力自己找资料自己摸索了…

#20 楼 @cassiuschen 带工程师的话这样不错,而且还专门有人管,那无论如何都会很快的

#21 楼 @cqcn1991 其实我最开始也是这么做的………awdwr 买来我都没敲,就翻了翻看一些基础的写法和后面对于各个组件的写法,然后就看 guides 去了……之后就自己找点子或者想要打算做一个什么样的东西来验证或者学习哪部分技术,然后根据想法做个验证项目就好…慢慢就熟悉了…不一定非要有人带…

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