首先我介绍下我的情况,我重庆的,之前做了 5 年的 java 开发,去年经朋友介绍简单了了解了 ruby 和 rails。对于重庆来说,ruby 环境不好,所以后面还是继续干 java。这次重庆的一个 ruby 招聘重新提起了我对 ruby 的兴趣,这次也下定了决心一定要学好。
在这里我贴出我的一些学习细节,希望得到各位朋友的指导!
后面我和招聘方联系了下,他也坦言在重庆不容易找到熟手,愿意对我进行基本的考察,是不是有潜力的新手。他给我布置了一个练手项目,给了我一套价值 21 美元的后台模板,主要想看我的 ruby 编程风格和学习能力。
当时我的情况:我对 ruby 和 rails 都不是很熟,差不多就是零基础吧。面对这个任务,我虽做了 5 年开发,但是许多东西不懂的情况下,当时真有点不知道如何入手。那时候甚至不知道怎么把给的模板应用进来。只明白一些 ruby 简单语法,rails 的一些工作原理,MVC 基本流程,routes 规则这些。
当时我的想法是首先我得学习怎么在 rails 里把模板引进来,怎么嵌套页面,怎么布局,所以当时了解了 Assets Pipeline 的工作方法,然后通过几篇 rails 入门的博客了解到怎么让 controller 加 layout 渲染不同的模板,怎么把公共代码提取出来放到单独的页面,然后用 render 引入。这些了解之后我就把您发的模板页面提取过来,然后根据 header、left、main、footer 进行拆分 layout。这里遇到了 css 文件里图片路径、字体路径有问题,后面了解到用 asset-url 去替换,把样式文件改成模板文件。
布局完成后就是列表和表单。在这个过程中,我会了简单的 debugger 调试,然后又学习了一些 gem,比如分页的 will_paginate,表单验证(模板里用的 parsley)parsley-rails,以及昨天我学习的 simple_form。这里面遇到的最大问题是做查询的时候,like 查询写不来,总是报错。目前用 where("") 这样的原生 sql 做的。为什么看例子可以 Model.find(:all, :conditions => ['name LIKE ?', "%#{search}%"] 这样调用,但是我这样用就被解释成了使用 id 查询,生成的 sql,all 被理解成了 id,而 conditions 被理解成了 in 条件。
在做项目的过程中,我发现我对许多 tag 不了解,很多参数可以这样传也可以那样传,以及一些语句的常用的写法也不了解,然后就迫切想通过一本入门的书先了解这些用法。其实我做了多年开发也明白,要想快速的入门,多练习是必不可少的。我之所以有这样的想法主要还是我了解的基础太少。我认为多练习是应该的,但也应该适当先了解常用的许多基础。所以我的想法是,与其自己在项目中遇到一些菜鸟问题去费力解决,不如跟着一本有实践的书做练习。当时朋友给我推荐了《web 开发敏捷之道——应用 rails 进行敏捷 Web 开发》,他说这个比较入门,又从头到尾贯穿项目练习。总得来说,我是想有个指导的练习,这样少走一些弯路。
在这个过程中遇到了不少困惑,许多 gem 的用法很多,我不知道该怎么传参数。路径什么的有许多种写法,有用 xxx_path 的,有用 xxx_url 的。所以我在这里汇报下我的学习 gem 的路子,贴出来让您指导: 现在我要学习一个 gem,比如昨天我学习 simple_form。 1、首先去 gem 的官网,比如 simple_form 的 github 看看 readme 文件,一般有使用介绍。还有去http://railscasts.com/ 搜下有没有相关介绍视频 2、google 一下 simple_form 的相关 blog 使用介绍 3、在用的过程中遇到问题后 google 相关解决方案,比如 google "rails simple form radio_buttons" ,然后就会找到 simple_form radio_buttons 的相关网页,其中属问答社区 stackoverflow.com 的比较多 4、我找到一个网站可以了解一些 gem 的相关 class、method,http://rubydoc.info/ ,这样可以解决这样的问题:在用 simple_form 的过程中,我想给标签添加 html 属性,但是不知道怎么添加。 这里顺便说下,我目前了解的相关资源文件的网站,若您有更好的资源网站,希望能提供给我: 【1】http://api.rubyonrails.org/ Rails API 【2】http://ruby-doc.com/ Ruby API 【3】http://rubydoc.info/ github 上的一些关于 gem project 相关 class、method、files 【4】http://guides.rubyonrails.org/ Rails Guides
各位兄弟、同仁、大牛们,欢迎多拍砖指正,多提建议,把您们宝贵的资源和经验给我分享下,谢谢啦