wndow環境下運行Ruby on Rails
mongrel是一个ruby的HTTP库,用来寄舍ruby Web应用程序。其实不用Apache单用mongrel就可以运行RoR程序了,那篇网上教程中使用Apache是用来做Web代理,让网站不会有 http://www.unbe.cn:8081/这样的端口声明。我只是做做试验,多个端口号不会有什么影响,所以我只配了mongrel。
配置步骤如下:
1. 下载并安装Ruby
2. 安装gem (Windows安装包安装的Ruby是自带gem的)
2.1 到rubyforge下载gem
2.2 解压gem档,并在命令行下执行setup: ruby setup.rb
3. 安装rails
3.1 命令行下输入: gem install rails –include-dependencies
注: 请确认电脑有连接网络。这个安装过程会持续一段时间,视网速而定。
4. 安装mongrel
4.1 命令行下输入: gem install mongrel –y
4.2 中间会提示安装什么版本,我安装的是最新版本的Win32版,其它版本我没试过
5. 安装mongrel service
5.1 命令行下输入: gem install mongrel_service -y
5.2 中间会提示安装什么版本,我安装的是最新版本的Win32版,其它版本我没试过
6. 创建一个rails程序
6.1 命令行下输入: rails D:"railsdemo , rails就会自动创建所需要文件到目标目录下
6.2 命令行下输入: mongrel_rails service::install -N railsdemo -c d:"railsdemo -p 8082 –e production
-e参数还可以是development,-p参数是服务的端口号,-N参数是服务的名称
6.3 现在Windows的服务列表中就会多一个railsdemo服务,启动它
6.4 到浏览器下测试站点 http://localhost:8082/ ,看到首页还不算完,点击”About your application’s environment”看看是否正常显示。
5、服务的删除和停止
mongrel_rails service::stop -N ent
如果需要从服务中注销该项服务,那么:
mongrel_rails service::remove -N ent
如果需要安装多个mongrel实例,那么可以这样:
mongrel_rails service::install -N ent0 -c d:"ruby"mywork"ent -p 3000 –e production
mongrel_rails service::install -N ent1 -c d:"ruby"mywork"ent -p 3001 –e production
这里说一下我的经验之谈,如果你和我一样,把 Ruby 安装到了一个包含空格的目录(例如:C:"Program Files"Ruby),那么你在试图安装 RubyGems 或用它安装一些东西时可能遇到一些麻烦,表现为,安装过程看似顺利结束后,相应的命令(例如 gem、rails、rake)还是不可用,若试图调用将报错“文件名、目录名或卷标语法不正确”。这其实是这些命令的源文件内容不对劲引起的,解决方法 也简单,在 Ruby/bin 目录下找到这些命令的源文件(例如 gem.bat、rails.bat、rake.bat),把其中的“@"ruby.exe"" "%~dpn0" %*”改为“@"ruby.exe" "%~dpn0" %*”即可。
(把中間””去掉)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在windowsXp上安装ruby on rails的sqlite3-ruby的问题解决
1、如果已经安装了sqlite3的话可以跳到第3步,否则下载sqlite3.exe和sqlite3.dl两个文件放入ruby的安装目录下的bin目录,比如我的是D:"ruby"bin"
2、执行以下命令
gem install sqlite3-ruby
安装sqlite3的ruby驱动。
3、现在就可以进行ROR开发了。比如我这里要实现mybook,首先执行
rails mybook -d mysql
之所以加上"-d mysql"是将数据库改为mysql(默认为sqlite3),然后要修改/mybook/config/下面的database.yml,比如我的修改如下:
development:
adapter: mysql
encoding: utf8
database: mybook_development
username: root
password: root
host: localhost
test:
adapter: mysql
encoding: utf8
database: mybook_test
username: root
password: root
host: localhost
production:
adapter: mysql
encoding: utf8
database: mybook_production
username: root
password: root
host: localhost
4、建立数据库,执行
rake db:create:all
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5分钟三步走,做出你我的第一个rails项目
首先下载一键安装包InstantRails-2.0-win
地址:http://files.rubyforge.mmmultiworks.com/instantrails/InstantRails-2.0-win.zip
这个很全 ruby rails mysql都有了 编辑器可以去ruby"scite目录下找scite.exe 有高亮语法的 很好用!
D:"InstantRails-2.0-win"ruby"myproject 我的学习目录
1 生成工程
加上环境变量后在命令行
rails chapter-1
生成项目chapter-1,
cd chapter-1在项目目录下:
ruby script/server
启动ruby自带服务器WEBrick服务器
浏览器指向http://localhost:3000/ 将看到欢迎画面
2创建控制器 显示你的话
ruby script/generate controller Greeting index
浏览器定位到http://localhost:3000/Greeting/index 发现ruby提示你这个index的位置在哪儿。Greeting标志出controller index标志出动作 默认动作是index,可以不写 直接输入:http://localhost:3000/Greeting/效果一样
使用controller显示你的话
app"controllers的Greeting_controller.rb中定义动作
def index
render :text => "<h1>Welcome to your first rails</h1>"
end
你再刷新下浏览器就有你的话啦
3将controller绑定到view修改controller里的index方法
def index
@welcome_message="Welcome to your first rails"
end
app"views"greeting index.html.erb里输入
<h1><%= @welcome_message%></h1>
然后页面定位到
http://localhost:3000/Greeting/index 可以看到你的页面编辑效果了