Ruby on Rails起步
2011-02-19 15:19
141 查看
在三种主要的动态语言中Perl、Python和Ruby中,鉴于下学期的软工需要一个OO的MVC架构,我还是选择了Ruby on Rails,做一个在线的考试系统应该还是足够的。
但是对我初学者不巧的是rails的新版本到了3.0.4,ROR的有些语句略有不同,还是没有听过来人的建议,没有倒回2.3.x,就从Rails3开始了。
一上手,跟书上的代码有些许不同。(我的是windows下的rails环境)
1、创建一个项目过去是 >rails projectname ,而现在是 >rails new projectname。
2、rails默认设置的数据库是sqlite3,但是1.9的ruby没有合适的sqlite3,一种解决是安装sqlite3-ruby-1.3.3,但是好像后面还是会出问题,而我是在
D:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.4/lib/rails/generators/rails/app 里找到app_generator.rb
在 class_option :database, :type => :string, :aliases => "-d", :default => "sqlite3", 这一行把default的数据库改成mysql,因为机子上本来就是配置了mysql。
3、创建了项目之后,进入项目目录,开启服务器的语句
原来:>ruby script/server
现在一看,傻眼了,script下就rails一个文件
现在:>rails server 或者 >rails s
4、就算这样还是会出错,好象是说mysql2的神马问题
于是参考网上意见,先在目录下执行 >bundle install
5、终于可以运行服务器了,修改下controller下的脚本,添加index动作,访问这个controller,结果是mysql无密码访问被拒绝= =。废话,没密码谁让你访问啊,于是修改了database.yml的密码。
但是依然不行,这次的错误是 no route matches,继续狗狗下,正解是把config/routes.rb中的
# match ':controller(/:action(/:id(.:format)))' 注释去掉,但是上面有句注释:This is a legacy wild controller route that's not recommended for RESTful applications.
简而言之,把许多的ruby脚本执行换成了rails的命令吧。
这样算是终于可以了,真是才开始呢。。。
-----------------------------继续----------------------------------------------------------------
P.S. 我的学习是基于the ruby programming language和ruby on rails: up and running这两本书的
1、rake ad:migrate更改为 rake db:migrate
以及创建的数据表,记录migration信息的表由schema_info变为schema_migrations。id字段是Rails自动创建的。
2、ruby script/console更改为rails console或者rails c,其实就是启动了irb并载入了项目信息。
3、在ror:up and running这本书的例子中,对于创建新对象irb返回的内容不一样,好像以前会分配一个值,但是现在新对象的属性通通为nil
但是对我初学者不巧的是rails的新版本到了3.0.4,ROR的有些语句略有不同,还是没有听过来人的建议,没有倒回2.3.x,就从Rails3开始了。
一上手,跟书上的代码有些许不同。(我的是windows下的rails环境)
1、创建一个项目过去是 >rails projectname ,而现在是 >rails new projectname。
2、rails默认设置的数据库是sqlite3,但是1.9的ruby没有合适的sqlite3,一种解决是安装sqlite3-ruby-1.3.3,但是好像后面还是会出问题,而我是在
D:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.4/lib/rails/generators/rails/app 里找到app_generator.rb
在 class_option :database, :type => :string, :aliases => "-d", :default => "sqlite3", 这一行把default的数据库改成mysql,因为机子上本来就是配置了mysql。
3、创建了项目之后,进入项目目录,开启服务器的语句
原来:>ruby script/server
现在一看,傻眼了,script下就rails一个文件
现在:>rails server 或者 >rails s
4、就算这样还是会出错,好象是说mysql2的神马问题
于是参考网上意见,先在目录下执行 >bundle install
5、终于可以运行服务器了,修改下controller下的脚本,添加index动作,访问这个controller,结果是mysql无密码访问被拒绝= =。废话,没密码谁让你访问啊,于是修改了database.yml的密码。
但是依然不行,这次的错误是 no route matches,继续狗狗下,正解是把config/routes.rb中的
# match ':controller(/:action(/:id(.:format)))' 注释去掉,但是上面有句注释:This is a legacy wild controller route that's not recommended for RESTful applications.
简而言之,把许多的ruby脚本执行换成了rails的命令吧。
这样算是终于可以了,真是才开始呢。。。
-----------------------------继续----------------------------------------------------------------
P.S. 我的学习是基于the ruby programming language和ruby on rails: up and running这两本书的
1、rake ad:migrate更改为 rake db:migrate
以及创建的数据表,记录migration信息的表由schema_info变为schema_migrations。id字段是Rails自动创建的。
2、ruby script/console更改为rails console或者rails c,其实就是启动了irb并载入了项目信息。
3、在ror:up and running这本书的例子中,对于创建新对象irb返回的内容不一样,好像以前会分配一个值,但是现在新对象的属性通通为nil
相关文章推荐
- 【Ruby on Rails 起步(二)】Windows下搭建RubyonRails 3.0.4 + Mongrel 1.2.0 pre + Apache2.2.17服务器
- Ruby on rails 实战圣经:Rails起步走
- Ruby on rails开发从头来(五十七)- ActiveRecord基础(多对多关联关系)
- Getting the Hostname or IP in Ruby on Rails
- [ROR] ruby on rails 命令学习
- Ruby on rails开发从头来(windows)(二十四)-测试Controller
- Ruby on rails开发从头来(windows)(二)-创建项目和第一个Hello world
- ruby on rails学习第4篇:rails框架下的文件夹及其作用 (转载)
- win764 位安装 ruby on rails
- ruby on rails 入门注意事项
- Ruby On Rails--Layouts and Rendering in Rails(布局和页面渲染)
- Ruby on Rails,创建最简单的视图/控制器单元Hello World
- ruby on rails on debian(1)
- ruby on rails 安装插件
- Ubuntu下Ruby on Rails开发环境的安装
- Ruby on Rails 初次冲浪体验
- 安装ruby on rails错误:Unable to download data from https://rubygems.org/的解决方法
- centos6.5源码安装rubyonrails及其gem插件
- Ruby on Rails 和 J2EE:两者能否共存?
- ruby on rails为什么暂时无法成为企业应用开发的主流?