前言
之前对Rails一直在了解层面,没真正动手做过(惭愧啊,几本Rails的书摆在书架中都2年了),这次要帮朋友做一个简单的应用系统,决定真正用一把Rails,在这里将开发过程中遇到的问题和一些经验记录在这里备忘,也给遇到相似问题的入门者一个参考,不打算写一个从0开始的一个入门说明,而是准备形成个一个入门实践FAQ,所以如果希望从这里从0开始入门开发Rails应用应用的读者还是华丽的跳过吧,随便弄本书比我这里写的全面多了;这里记录的问题也都是比较低级的,各位Ruby&Rails大侠也请华丽的飞过吧。
安装
没那么丰富经验,先按简单的来吧,在Windows平台上,使用
InstantRails整合安装环境。InstantRails最新版本为2.0,内部集成Ruby Rails Mysql等开发必须环境,一键安装,非常方便。
注意:
1. 如果Windows环境中有IIS服务,会与InstantRails中集成的Apache端口冲突,导致Apache启动失败。
2. 如果原系统中已安装过MySQL,会导致InstantRails中集成的MySQL冲突,导致MySQL启动失败。
3. IntstantRails2.0中集成的Rails版本为2.0.2,市面上Rails参考图书介绍的多数都是Rails1.x环境的示例,常见问题是按照参考书实现自动化scaffold失败和分页功能paginate错误
数据库初始化
InstantRails中的Apache和MysQL启动成功后,可以通过菜单Configure->Database(via PHPAdmin)登陆MySQL图形化管理界面,也可自己行通过IE访问
注意:
1. 创建数据库时使用字符集
UTF-8 general ci支持中文即没有问题
2. PHPAdmin手动访问地址 http://localhost/mysql
3. 集成的MySQL用户名root,口令为空
第一个问题 -- 自动Scaffold
按照书上的例子一步一步走下去,都还没啥问题,而且之前还有Grails应用开发经验,也算轻车熟路。但没走多远问题就来了,在Controller中声明自动Scaffold,程序华丽的报错
undefined method `scaffold' for AdminController:Class
class AdminController < ApplicationController
scaffold :product
end
上网一查,这类问题还真多,主要是Rails2.0版本已经不支持自动Scaffold了,自动Scaffold作为插件需要额外安装,详细解决办法网上好多,我就不复述了。反正我没装,既然2.0不支持了就不用了呗,一定有更好的替代方法。
第二个问题 -- 新的静态Scaffold命令
动态不行用静态,没想到静态也跑不同,直接按书上的例子执行
ruby script/generate scaffold Admin
再次华丽的报错
wrong number of arguments (1 for 2)
原来又是Rails2.0版本的问题,生成静态Scaffold的命令已经变化,类似这样
ruby script/generate scaffold product name:string phone:string addr:string
这个命令会同时生成相关文件:
Model、Controller、Views、Tests、
migrate
凭当前我的理解,Rails2.0是推荐通过model指导产生数据表,而不是像书上写的那种Rails1.x顺序,先创建数据表,再产生model及action,还要进行model和action的绑定,应该是更敏捷了;
番外篇 -- 开发工具
羡慕Mac上的Textmate不是一年两年了,可惜没有足够的米入手任何带有Mac字样东西,干咽几口口水想想算了。
轻量级IDE
据观察,Windows上长的和Textmate最像的轻量级IDE有2款: Intype和e-texteditor,可惜Intype动力不足,太长时间没动静了;e-texteditor发展依旧火热,当前最新版本为1.0.39,网上已有破解,各位童鞋麻烦自己去找吧,直接公开发破解还得有点不好意思。本人开发即使用e-texteditor(有些关于Ruby&Rails的Bundles推荐更新到最新版本)
e-texteditor使用经验
1. 安装过程中弹出一堆警告,因为和Windows平台文件路径及命名规则不符合,全部Ignore即可,不影响使用。
2. 将e-texteditor中的setting->keep state between sessions选项去掉,可以增强启动速度,不会每次打开都加载之前打开的文件。
3. 通过菜单Bundles->Edit Bundles->Show Bundle Editor,将其中的JavaScript Tools中的最后一项Validate Syntax Quick快捷键(Ctrl+S)取消或重新设置,因为这项功能与平时保存文件快捷键冲突,而且要借助Cygwin环境,所以在编辑JS文件时,保存文件就会弹出要求安装Cygwin的对话框。重设这个快捷键就OK了。
4. Cygwin应该会大大增强e-texteditor功能,但我这里安装太费劲,好像东西很大,而且要安装哪些也不太知道,所以没有安装,不影响日常工作使用。
重量级IDE
NetBeans、RadRails、RubyMine,前2个工具都是免费的,直接download就可以用。RubyMine是JetBrains的产品,当前最新版本为2.0,据评价在几款重量级IDE中表现最为出色。RubyMine2.0网上也有破解版本了,但抱歉,不好在这里发布,各位童鞋请谅解。
开发环境准备介绍到这里吧,后面就该介绍真正开发中遇到的问题了,To Be Continue...
分享到:
相关推荐
总结以上内容,Ruby on Rails快速Web应用开发实战的文档详细介绍了Ruby编程语言和Rails框架的安装、配置以及使用。它涵盖了从Rails的历史和版本发展到如何在不同操作系统上安装Rails,再到如何使用Rails进行Web应用...
最后,测试是任何Rails应用不可或缺的一部分。使用RSpec进行行为驱动开发(BDD)测试,Rake任务自动化测试执行,确保购物车系统在功能上和性能上的健壮性。 总结,构建Rails敏捷开发的购物车系统涉及了模型-视图-...
- **ActiveResource**:这是一个用于客户端访问RESTful服务的库,使得Rails应用能够轻松地与其他RESTful服务进行交互。 总之,REST不仅仅是一种开发风格,更是一种设计理念,它提倡通过标准化的接口来构建灵活、可...
9. **部署**:如何将Rails应用部署到如Heroku或AWS等云平台,以及配置Nginx或Apache作为前端服务器。 通过学习《应用Rails进行敏捷Web开发》中文第三版,你不仅能掌握Rails 2.2.2的基本用法,还能深入理解Web开发的...
总的来说,“Ruby on Rails快速Web应用开发实战”将涵盖如何利用RoR的特性和最佳实践,从零开始创建一个功能完善的Web应用。学习者将深入理解MVC架构,掌握路由配置、数据库设计、视图渲染、测试驱动开发以及如何...
总的来说,这个教程系列将带领开发者逐步学习如何利用 Ruby on Rails 的灵活性和 Eclipse 的强大工具集,为 iPhone 用户提供定制的 Web 应用体验,而无需完全转向原生应用开发。通过这一过程,开发者可以平衡开发...
在Rails应用中,视图(View)部分通常包含HTML和CSS代码,通过 erb(Embedded Ruby)模板引擎,可以将Ruby代码嵌入到HTML中,实现动态内容的生成。 在实例开发过程中,我们可能首先会设置一个新的Rails项目,通过`...
1. **Ruby on Rails**:Rails是基于Ruby语言的一个开源Web开发框架,它遵循“约定优于配置”(Convention over Configuration, CoC)和“Don't Repeat Yourself”(DRY)的原则,简化了Web应用的开发流程。...
这个实例工程将帮助我们了解如何在Rails应用中实现动态导航,提升用户体验。 首先,我们需要了解Rails中的路由(Routes)。Rails的路由系统负责将HTTP请求映射到控制器的动作上。在`config/routes.rb`文件中,我们...
Java框架在Web开发领域中占据着重要的地位,尤其是在企业级应用开发中。然而,尽管Java拥有庞大的社区支持和丰富的框架资源,但也面临着一些挑战。 ##### 2.1 复杂性问题 Java框架往往过于复杂,这主要体现在以下几...
这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留Rails的便捷开发体验。 ### 2. 安装`GoOnRails` 首先,确保你的系统已经安装了Rails和Go。接下来,...
RoR遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用开发,降低开发者的工作负担,提高开发效率。该框架的核心设计理念包括“Don’t Repeat Yourself”(DRY)和“Convention Over Configuration”(CoC...