最近ror抄的很热,于是自己也找着网上做个例子,但是遇到了很多问题,主要原因是ruby版本和rails版本兼容的问题,也许是自己刚刚接触,不知道如何是好。经过一番周折终于见到彩虹。
1,安装ruby环境,这里我就不多说了,本人使用的是ruby186-26.exe,网上可以找到下载地址
2,安装rails,在安装rails之前要安装一下gem文件,这里我全部采用2.0.2版本,因为试过很多版本,最终见到彩虹的是此版本,您也可以尝试别的版本。
3,activesupport-2.0.2.gem
actionpack-2.0.2.gem
actionmailer-2.0.2.gem
activerecord-2.0.2.gem
activeresource-2.0.2.gem
rails-2.0.2.gem
安装完成后,就可以进行开发了。一定要看到successful
在 DOS 命令行窗口运行 rails mybook (本程序的工作目录是 D:\railsdoc>)
D:\railsdoc>rails mybook
create
create app/apis
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create components
create db
create doc
create lib
create log
create public/images
create public/javascripts
create public/stylesheets
create script
create test/fixtures
create test/functional
create test/mocks/development
create test/mocks/test
create test/unit
create vendor
create Rakefile
create README
create CHANGELOG
create app/controllers/application.rb
create app/helpers/application_helper.rb
create test/test_helper.rb
create config/database.yml
create config/routes.rb
create public/.htaccess
create config/environment.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
create script/console
create script/console_sandbox
create script/destroy
create script/generate
create script/server
create script/runner
create script/benchmarker
create script/profiler
create script/breakpointer
create public/dispatch.rb
create public/dispatch.cgi
create public/dispatch.fcgi
create public/404.html
create public/500.html
create public/index.html
create public/favicon.ico
create public/javascripts/prototype.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
本程序的工作目录是 D:\railsdoc>, 上面 rails 已经给我们生成了mybook 目录,进入mybook 目录。运行ruby script\server 。 这条命令是运行 script 目录下的 server 命令来启动 webrick 服务器。
打开浏览器 ,输入网址http://127.0.0.1:3000/ 看到信息就是正常。
简单例子:
在mybook目录下使用
ruby script\generate controller MyTest
产生D:\railsdoc\mybook\app\controllers 目录中将生成一个包含 MyTestController 类定义骨架的名为 my_test_controller.rb 的文件
编辑此文件
def
def index
render:text =>"hello world"
end
end
网上有很多例子,但是是2.0版本以前的,所以在编写代码时需要注意,一般经常使用的是helloworld程序,这里我主要说的是render :text => "hello world",这是2.0以后版本的写法。
进行movie例子
数据库配置在刚才生成的mybook目录下config\database.yml修改
development:
adapter: mysql
encoding: utf8
database: mysql
username: root
password:
host: localhost
生成数据库
ruby script/generate scaffold Movie title:string des:text
在db\migrate目录会生成001_create_movies.rb
rake db:migrate
这是开启服务器,所谓的魔法产生了。一套模板全部拥有.
这是会有新的问题,有人问为什么我不能在页面上写中文?
这个可以利用编辑器将你的view文件保存为utf-8格式,就ok了
第二个问题,分页如何进行?
在MoviesController增加代码
def index
@movies = Movie.find(:all)
@movies = Movie.paginate:page => params[:page],:per_page =>2,:order => 'created_at asc'
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @movies }
end
end
增加这句就ok了
下面在你的view文件中,修改如下
<%= will_paginate @movies, :prev_label => '上一页', :next_label => '下一页' %>
完成。
刷新页面。。。。。。。。。。有问题,原因没有分页组件,下面进行安装。
命令如下
gem install mislav-will_paginate --source http://gems.github.com
安装完成
Successfully installed mislav-will_paginate-2.3.2
Installing ri documentation for mislav-will_paginate-2.3.2...
Installing RDoc documentation for mislav-will_paginate-2.3.2...
下来,在你的mybook\config目录下找到environment.rb文件
在end之后增加以下代码
gem 'mislav-will_paginate', '~> 2.3'
require 'will_paginate'
重新启动服务器,一切ok。