新手问题 学习 ruby on rails 之前需要具备的知识

dannyZhou · 2014年03月09日 · 最后由 ruby_sky 回复于 2014年03月15日 · 6459 次阅读

我是一个大二的学生,对 ruby on rails 感兴趣,曾经学过一段时间,但是发现,这个并不是针对新手的,尤其是 rails,我在学习 rails 的时候,我发现我得去学 html 然后发现我得去学 bootstrap。这个时候我就快疯了,发现好多我需要学的,学完了这些,我才能去顺利的学习 ruby rails。 我想像各位大神请教一下,在学习 ruby rails 之前我必须具备的知识和需要具备的知识,谢谢大家了

其实,即使学好了 Rails,之后可能你还要回来学些 Bootstrap,或者 HTML / CSS 相关的知识,所以说先后顺序真的这么纠结么?多花点时间什么都能学会。

Ruby HTML CSS JavaScript

#1 楼 @lgn21st 其实我觉得还是现在这个时代造成的,想一想三四年前我们做 web 开发的时候哪里有这么多的东西要用到?技术发展和膨胀的速度太快了。

#3 楼 @howiehu 我总是这么想,这个东西千万不要太容易啊,如果太容易的话,门槛就低,我靠努力就拼不过哪些天资聪明的人,所以我总是希望:东西不要太简单 + 自己努力 = 有竞争优势

#4 楼 @lgn21st 哈哈,聪明的人都是这么想的!

#3 楼 @howiehu 其实 web 技术也没太大的发展,还都是那些东西,所以说,只要基础知识牢靠,什么框架啊啥的都是浮云,分分钟就能理解原理,运用自如。就像 Bootstrap、Backbone、AngularJS 也好,Rails 也罢,如果是完全从零开始学的话可能是复杂些。但是建立在以往知识的经验之上,都没有太大绊脚石,甚至很多时候会有一种,“我靠。。。我要的就是你,让我找的好辛苦”的感觉。

进入 Rails,你要有一种发展的态度去看问题。其实,现在的哪个东西能固守?

Rails = Model + View + Controller View = HTML + CSS + JavaScript Model = 增删改查

#6 楼 @fengkuok 恩,我发现,我还是没有学到他们的精髓,我以前学过 html css js 但是现在接触一个 bootstrap 还是感觉很难。

如果完全新手,建议路线: html(静态网页) -> CSS -> (Javascript + DOM) -> HTTP(进入动态) -> CGI(很基本的动态形式,也可以帮助你弄懂框架是怎么来的) -> Database -> RubyOnRails 之流

#8 楼 @swordray 说实在的,我在接触了 rails 以后才知道 MVC 是什么..........

最后一行是什么意思??“model=增删改查”

#4 楼 @lgn21st 和我的想法一样,但是在我看来,太难的东西我弄不了

#7 楼 @shatle 对呀,对于 rails 来讲,每一个版本之间是不兼容的

#10 楼 @gihnius 我想问一下,http 是指的 http 协议吗?就是 计算机网络的那些知识??

#11 楼 @dannyZhou 其实世界上所有功能都是用 SQL 对数据库增删改查,只不过 Rails model 方便一点,学通了就是高手

http://guides.rubyonrails.org/

Models
Active Record Basics
Rails Database Migrations
Active Record Validations
Active Record Callbacks
Active Record Associations
Active Record Query Interface

#4 楼 @lgn21st Ruby 易学难精,对你的胃口啊

#15 楼 @swordray 意思就是对数据库的增删改查吧。谢谢你啦

#16 楼 @swordray 我就是那种什么都知道一点,但是不精通的人,后来发现,所有的东西都是联系在一块的。

#18 楼 @dannyZhou 激情 + 时间 + 坚持 = 精通

现在的学生了不得啊,我大二的时候还在沉迷于 dota

#21 楼 @dannyZhou 搞好计算机基础吧,其他的都是工具

#12 楼 @dannyZhou 其实是没有,也不应该有 但是 的,孟子曰:仁者如射,发而不中,反求诸身。

基本上不需要任何具备知识,会 if else, loop 加上会自己安装 linux 就行了。慢慢顺藤摸瓜,需要什么就查什么。我就这么过来的。

#24 楼 @hardywu 恩,这是一个特别好的办法,同时也提醒了我!!谢谢!!!!

#23 楼 @lgn21st 恩,多谢教诲,我知道该怎么做了

总结一下我教别人 Rails 入门的内容:为了缩短时间,只教了 Linux 基本的一些命令,直接丢一个 vagrant 给他们避免了环境配置(自己学的话这个还是最好熟悉一下)、Ruby 基础学习,顺序结果选择结构循环排序肯定得会写,然后学写 method 写 class,语言目前就这么点。讲了 mvc,讲了最基础的 REST,讲了 migrate 的内容,讲了 model 的含义,基本让他们明白了 rails 的处理流程,讲了 html、讲了 css,简单的页面可以应付了。然后就开始实操了……

#28 楼 @dannyZhou 没事……我也不过刚入点门……共同摸索……

快而立之年了,才发觉到自己的技能危机,开始学习 rails,发觉对于 rails 需要学习的东西千头万绪,任何一点小挫折都很容易导致放弃,总之需要持续不间断地尝试训练,才能有所突破。后悔大学的那宝贵的四年荒废掉了,学生朋友们千万利用好这段最适合心无旁骛学习锻炼的时间。

#30 楼 @fatbigbright 我一直在迷茫,到现在还没有找到一个适合自己的方法,适合自己的出路,我不想再迷茫

#31 楼 @dannyZhou 方法很重要,不过可以一边学习、尝试一边摸索改进,这也算是迭代渐进的一种形式吧,我觉得不必在行动之前部署好一切的方法,有时反而会阻碍行动。另外学习是有曲线的,也会有瓶颈的,遇到瓶颈别着急,坚持下去。另外就是多上社区交流了。现在信息很便捷,有问题应该很少有完全搜不到解决方案的情况。说得有点没有条理哈,多交流~

你好,我目前也是大二阶段,看到你现在的学习的感觉,我就想起了我当初学习 ruby on rails 的经历。 我大一下学期才开始接触 ruby 和 linux,当时我的学习情况和你一样,什么都不懂,除了学语言,rails 还有很多包和整个框架的配置要了解,有很多时候好要整 linux,时不时的都要接触新的东西,感觉要学的东西非常多,然后就感觉这个学起来很难。我个人觉得解决这个问题最好的办法就是自己写一点简单的东西出来鼓励自己,这样也会很有成就感,才能提起自己的动力去学习

定个合适的目标,然后硬着头皮完成,然后你就懂了。

比如:博客。

不过一般来说大部分人都很享受到处看资料的轻松,而不愿去碰实际代码中的脏东西。

必须具备的:HTML, CSS, Ruby basis, Database basis. 这些不明白就没法学 最好具备的:JavaScript SQL *nix. 这些不明白也能学,就是有时候可能有些坑

大二学生应该优先学的:英语,放一半时间在这里,以后楼主自然明白。

#36 楼 @blacktulip

英语

这个太花时间了吧

#37 楼 @bhuztez 建议而已,按个人情况分配时间咯,

@blacktulip 赞学英语这一点。果断是大杀器……

大二的话,以前学过别的编程语言吗?如果没有的话,可以先学 Ruby,一定不要一上来就学 Rails。 数据结构学过了吗?面向对象学过了吗?RDBMS 呢?这些都远比 HTML、CSS、Javascript 重要得多,更不用说 Bootstrap 了。

可以看看知乎这个帖子,http://www.zhihu.com/question/19552402@lilu 的回答很全面!

大二时候我一边用 Java 和一些简单的中间件开发系统,一边自学 Linux 入门。现在大四,从 Java 转向 Ruby on Rails,猛一下还不太适应。 现在看来,你有了 Web 领域的一些基础(如 HTML & CSS & JavaScript & RDBMS)之后,可以先学习 Sinatra,练过一段时间后上手 Rails 会更好。 别忘了学习 Ruby 语言本身。 最重要的是,如果你是 CS 专业的话,一些专业课别轻视,一定要学好。

#32 楼 @fatbigbright 嗯谢谢你,我会努力的。

#33 楼 @jyootai 我发现,如果现在做一个完整的项目,就会学到很多以前没有接触过的东西

#36 楼 @blacktulip 我的英语很差啊!!!还没有过四级

#40 楼 @allenfantasy 很多的资料都是英文的,英文很重要啊

#47 楼 @dannyZhou 的确是,而且英文的资料总是比较新且全,中文的资料总是稍慢一点的。但是 Ruby 的社区还是很好的呀。

最近看到的比较全的一个 Ruby / Rails 学习资料库,希望有帮助:https://github.com/wjp2013/the_room_of_exercises/blob/master/guides/Ruby-Rails-Resources.md

@howiehu 3、4 年前我们一样要学 css,html,js,只是现在多了很多框架对这 3 个东西进行了高度封装而已。。。抛开框架,你会这 3 项,你就可以做 web 的开发啦,然后用 ruby on rails 炫耀你的速度

web 的本质一直没变。。。就算 html5 也一样啊

#50 楼 @badboy No,我的意思是说,新程序员现在光学这三样已经不够了,还需要花更多的时间去学框架。另外,这三件基本功打扎实是需要时间的,很多人一上来就框架,其实难度也很高。

@howiehu 我觉得 Rails 开发中有三样东西非常重要:对 Ruby 语言的掌握,对 Rails 框架的理解,Web 开发基础(HTML/CSS/JS/RDBMS)。我也是新手,目前感觉 Rails 框架越来越令我惊叹。

看了很多人的回复,觉得我学习的目标清晰了一点~

@howiehu 为了各种团队要求,肯定要学各种框架。

我指出的其实是很多团队要求会框架,但是忽略了本质其实就是三件基本功。 碰到好多新手,一来就问各种 rails 的 helper 方法咋样咋样,根本不清楚基础的东西,忽略本质是在卖弄皇帝的新装。这代价很大。

嗯,连 form 表单不能嵌套都不知道,有时候真的很无语

慢慢来吧,这样直接上 ror 是会遇到这些问题的,加油

找到妹子。

#58 楼 @ruby_sky 以前是找到了,但是最近分了

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