|
2005-12-21
TAG:rails IDE edrails DataBase test
之所以写这篇日志是因为在开始rails时浪费了大量的时间在调试环境上,因为很久前按照一个教程搭建过ROR工程,所以理所应当的感觉很简单,但相隔很长时间很多基础的概念都没有记住,所以犯了很低级的错误,要是动手前温习一下教程或者看看英文文档就不至于浪费时间了。 看山给我介绍了redrails这个IDE,因为我在win上做有没有装eclipse,所以只下了单独运行的文件,还好是绿色软件,只要有java环境就可以了,在第一步建立工程时问题随之出现,首先是workspace,这个指定一个公共目录就好了,比如“railsCode”,以后每个项目都放在里面,IDE建立工程其实等价于命令行workspace目录下运行rails 工程名,建好后会产生所有rails需要的基本目录结构,包括script里面的server(注:经我测试在win下用redrails直接运行项目的server会经常出错,而且严重到直接关闭IDE抛出异常,再次启动时server里找不到启动项,不过用命令行找到workspace目录下运行ruby script\server可以启动,我在这里费了大劲,起初还以为是项目部署的问题~),访问127.0.0.1:3000会出现Congratulations页面,这个页面就是项目\public\index.html页面,数据库配置文件,也就是我们平时写脚本所谓的CONN是项目\config\database.yml文件,在这里设置mysql设置密码似乎还会出现问题~改写后要重启server,切记! 最令我难堪的问题是项目访问路径,没看书我理所应当的按照127.0.0.1:3000\项目名访问,结果总是找不到路径(竟然为了这么一个问题熬到凌晨3点多,压根就没考虑查一下资料),其实是根本没有了解清rails的url机制,虽然现在不是了解得很全面,但知道以现在这种server的启动方式根本不存在虚拟目录的问题,也就是直接用127.0.0.1:3000访问的就是server所在项目的首页,而其他页面完全靠controller类来指定(controller类文件放在项目\app\controllers目录下),比如我新建test_controller.rb(用redrails时只要命名controller叫test即可,命令行需在项目下运行ruby script\generate controller test),这是项目中会同时产生四个文件app\controllers\test_controller.rb; app\helpers\test_helper.rb; app\view\test\; test\functional\test_controller_test.rb 此时访问127.0.0.1:3000\test会出现“ Unknown actionNo action responded to index ” 查资料后修改test_controller.rb内容为“ class TestController < ApplicationController def index render_text"这是测试页" end end ”后再次访问以上路径就会出现“这是测试页”的字样了,而定义其他url同理增加新的def就可以了,不过是否所有url都要这样来定义我还没有搞清?rails里model实现比较简单,单数对复数即model里定义test.rb则DB建tests表影射,然后在controller里的test_controller.rb加scaffold:test就ok了,最基础的list、show、edit、delete操作及表单在这之后自动生成127.0.0.1:3000\test\list 可以自己定义页面模版,比如想订制list页面的,就在test_controller.rb里加入 "def list...end”然后编辑view\test\list.rhtml即可,由于...内容与模版中动态程序的书写有关,有时间还需要进一步研究,大概就是数据库对象的声明一类。 PS:太晚了,随做随学随写吧
|