`
lj6684
  • 浏览: 963931 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Rails应用开发体验(1)

阅读更多
前言
之前对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...

2
1
分享到:
评论
3 楼 rainlife 2009-12-23  
引用
RubyMine2.0网上也有破解版本了

这个?以前也找过,但一直找不到,如果真有,麻烦你站内短一下我吧。
2 楼 lj6684 2009-12-23  
black_star 写道
e-textmate经常莫名崩溃,貌似在选择多行文件的时候

崩溃问题在我这里还真没发现过。
1 楼 black_star 2009-12-22  
e-textmate经常莫名崩溃,貌似在选择多行文件的时候

相关推荐

    Ruby+on+Rails快速Web应用开发实战.pdf

    总结以上内容,Ruby on Rails快速Web应用开发实战的文档详细介绍了Ruby编程语言和Rails框架的安装、配置以及使用。它涵盖了从Rails的历史和版本发展到如何在不同操作系统上安装Rails,再到如何使用Rails进行Web应用...

    rails敏捷开发的购物车系统

    最后,测试是任何Rails应用不可或缺的一部分。使用RSpec进行行为驱动开发(BDD)测试,Rake任务自动化测试执行,确保购物车系统在功能上和性能上的健壮性。 总结,构建Rails敏捷开发的购物车系统涉及了模型-视图-...

    应用Rails进行REST开发

    - **ActiveResource**:这是一个用于客户端访问RESTful服务的库,使得Rails应用能够轻松地与其他RESTful服务进行交互。 总之,REST不仅仅是一种开发风格,更是一种设计理念,它提倡通过标准化的接口来构建灵活、可...

    应用Rails进行敏捷Web开发中文第三版

    9. **部署**:如何将Rails应用部署到如Heroku或AWS等云平台,以及配置Nginx或Apache作为前端服务器。 通过学习《应用Rails进行敏捷Web开发》中文第三版,你不仅能掌握Rails 2.2.2的基本用法,还能深入理解Web开发的...

    Ruby_on_Rails快速Web应用开发实战

    总的来说,“Ruby on Rails快速Web应用开发实战”将涵盖如何利用RoR的特性和最佳实践,从零开始创建一个功能完善的Web应用。学习者将深入理解MVC架构,掌握路由配置、数据库设计、视图渲染、测试驱动开发以及如何...

    使用 Ruby on Rails 和 Eclipse 开发 iPhone 应用程序教程(含图例)

    总的来说,这个教程系列将带领开发者逐步学习如何利用 Ruby on Rails 的灵活性和 Eclipse 的强大工具集,为 iPhone 用户提供定制的 Web 应用体验,而无需完全转向原生应用开发。通过这一过程,开发者可以平衡开发...

    Ruby on Rails实例开发

    在Rails应用中,视图(View)部分通常包含HTML和CSS代码,通过 erb(Embedded Ruby)模板引擎,可以将Ruby代码嵌入到HTML中,实现动态内容的生成。 在实例开发过程中,我们可能首先会设置一个新的Rails项目,通过`...

    《web开发敏捷之道 应用rails进行敏捷web开发》(第一版)的depot源代码

    1. **Ruby on Rails**:Rails是基于Ruby语言的一个开源Web开发框架,它遵循“约定优于配置”(Convention over Configuration, CoC)和“Don't Repeat Yourself”(DRY)的原则,简化了Web应用的开发流程。...

    rails应用--导航栏实例工程

    这个实例工程将帮助我们了解如何在Rails应用中实现动态导航,提升用户体验。 首先,我们需要了解Rails中的路由(Routes)。Rails的路由系统负责将HTTP请求映射到控制器的动作上。在`config/routes.rb`文件中,我们...

    Ruby On Rails(PDF)

    Java框架在Web开发领域中占据着重要的地位,尤其是在企业级应用开发中。然而,尽管Java拥有庞大的社区支持和丰富的框架资源,但也面临着一些挑战。 ##### 2.1 复杂性问题 Java框架往往过于复杂,这主要体现在以下几...

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留Rails的便捷开发体验。 ### 2. 安装`GoOnRails` 首先,确保你的系统已经安装了Rails和Go。接下来,...

    Ruby on Rails 初体验--北大青鸟教师专题讲座PPT

    RoR遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用开发,降低开发者的工作负担,提高开发效率。该框架的核心设计理念包括“Don’t Repeat Yourself”(DRY)和“Convention Over Configuration”(CoC...

Global site tag (gtag.js) - Google Analytics