您的位置:首页 > 编程语言 > Ruby

Ruby on Rails 實戰聖經阅读(二)

2013-07-16 13:53 357 查看
1.操作系统 centos5.4

2.安装ruby

yum install ruby

会安装得到 1.8.5

如果你公司用的是1.8.X就无所谓了,

拿这个学习就行了

如果你们公司用的是1.9.X,那么你需要去下载源码进行安装。【你会很悲剧的发现下载已被伟大祖国的万里长城封锁了】

我这里使用1.8.5学习就ok了

3.安装rails

yum -y install rubygem-rails.noarch

4.看看安装完毕的成果

[root@localhost projects]# ruby -v

ruby 1.8.5 (2006-08-25) [x86_64-linux]

[root@localhost projects]# rails -v

Rails 2.1.1

5.建立rails档案

mkdir projects

cd projects

rails new demo

圣经说:

如果出現建立出來的目錄不是demo而是new,表示你的Rails版本是舊版的,請輸入rails -v檢查Rails的版本必須是3.0以上。不是的話,請回上一章末執行gem install rails安裝Rails 3

老版本就老版本吧

不管他

6.启动服务器 ./script/server

[root@localhost new]# ./script/server

=> Booting WEBrick...

=> Rails 2.1.1 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options

[2013-07-16 09:29:45] INFO WEBrick 1.3.1

[2013-07-16 09:29:45] INFO ruby 1.8.5 (2006-08-25) [x86_64-linux]

[2013-07-16 09:29:45] INFO WEBrick::HTTPServer#start: pid=17229 port=3000

8.访问一下

本地访问:

[root@localhost ~]# curl "127.0.0.1:3000"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

<title>Ruby on Rails: Welcome aboard</title>

<style type="text/css" media="screen">

body {

margin: 0;

margin-bottom: 25px;

padding: 0;

background-color: #f0f0f0;

font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";

font-size: 13px;

color: #333;

}



h1 {

font-size: 28px;

color: #000;

}



a {color: #03c}

a:hover {

background-color: #03c;

color: white;

text-decoration: none;

}





#page {

background-color: #f0f0f0;

width: 750px;

margin: 0;

margin-left: auto;

margin-right: auto;

}



#content {

float: left;

background-color: white;

border: 3px solid #aaa;

border-top: none;

padding: 25px;

width: 500px;

}



#sidebar {

float: right;

width: 175px;

}



#footer {

clear: both;

}





#header, #about, #getting-started {

padding-left: 75px;

padding-right: 30px;

}





#header {

background-image: url("images/rails.png");

background-repeat: no-repeat;

background-position: top left;

height: 64px;

}

#header h1, #header h2 {margin: 0}

#header h2 {

color: #888;

font-weight: normal;

font-size: 16px;

}





#about h3 {

margin: 0;

margin-bottom: 10px;

font-size: 14px;

}



#about-content {

background-color: #ffd;

border: 1px solid #fc0;

margin-left: -11px;

}

#about-content table {

margin-top: 10px;

margin-bottom: 10px;

font-size: 11px;

border-collapse: collapse;

}

#about-content td {

padding: 10px;

padding-top: 3px;

padding-bottom: 3px;

}

#about-content td.name {color: #555}

#about-content td.value {color: #000}



#about-content.failure {

background-color: #fcc;

border: 1px solid #f00;

}

#about-content.failure p {

margin: 0;

padding: 10px;

}





#getting-started {

border-top: 1px solid #ccc;

margin-top: 25px;

padding-top: 15px;

}

#getting-started h1 {

margin: 0;

font-size: 20px;

}

#getting-started h2 {

margin: 0;

font-size: 14px;

font-weight: normal;

color: #333;

margin-bottom: 25px;

}

#getting-started ol {

margin-left: 0;

padding-left: 0;

}

#getting-started li {

font-size: 18px;

color: #888;

margin-bottom: 25px;

}

#getting-started li h2 {

margin: 0;

font-weight: normal;

font-size: 18px;

color: #333;

}

#getting-started li p {

color: #555;

font-size: 13px;

}





#search {

margin: 0;

padding-top: 10px;

padding-bottom: 10px;

font-size: 11px;

}

#search input {

font-size: 11px;

margin: 2px;

}

#search-text {width: 170px}





#sidebar ul {

margin-left: 0;

padding-left: 0;

}

#sidebar ul h3 {

margin-top: 25px;

font-size: 16px;

padding-bottom: 10px;

border-bottom: 1px solid #ccc;

}

#sidebar li {

list-style-type: none;

}

#sidebar ul.links li {

margin-bottom: 5px;

}



</style>

<script type="text/javascript" src="javascripts/prototype.js"></script>

<script type="text/javascript" src="javascripts/effects.js"></script>

<script type="text/javascript">

function about() {

if (Element.empty('about-content')) {

new Ajax.Updater('about-content', 'rails/info/properties', {

method: 'get',

onFailure: function() {Element.classNames('about-content').add('failure')},

onComplete: function() {new Effect.BlindDown('about-content', {duration: 0.25})}

});

} else {

new Effect[Element.visible('about-content') ?

'BlindUp' : 'BlindDown']('about-content', {duration: 0.25});

}

}



window.onload = function() {

$('search-text').value = '';

$('search').onsubmit = function() {

$('search-text').value = 'site:rubyonrails.org ' + $F('search-text');

}

}

</script>

</head>

<body>

<div id="page">

<div id="sidebar">

<ul id="sidebar-items">

<li>

<form id="search" action="http://www.google.com/search" method="get">

<input type="hidden" name="hl" value="en" />

<input type="text" id="search-text" name="q" value="site:rubyonrails.org " />

<input type="submit" value="Search" /> the Rails site

</form>

</li>



<li>

<h3>Join the community</h3>

<ul class="links">

<li><a href="http://www.rubyonrails.org/">Ruby on Rails</a></li>

<li><a href="http://weblog.rubyonrails.org/">Official weblog</a></li>

<li><a href="http://wiki.rubyonrails.org/">Wiki</a></li>

</ul>

</li>



<li>

<h3>Browse the documentation</h3>

<ul class="links">

<li><a href="http://api.rubyonrails.org/">Rails API</a></li>

<li><a href="http://stdlib.rubyonrails.org/">Ruby standard library</a></li>

<li><a href="http://corelib.rubyonrails.org/">Ruby core</a></li>

</ul>

</li>

</ul>

</div>



<div id="content">

<div id="header">

<h1>Welcome aboard</h1>

<h2>You’re riding Ruby on Rails!</h2>

</div>



<div id="about">

<h3><a href="rails/info/properties" onclick="about(); return false">About your application’s environment</a></h3>

<div id="about-content" style="display: none"></div>

</div>



<div id="getting-started">

<h1>Getting started</h1>

<h2>Here’s how to get rolling:</h2>



<ol>

<li>

<h2>Use <tt>script/generate</tt> to create your models and controllers</h2>

<p>To see all available options, run it without parameters.</p>

</li>



<li>

<h2>Set up a default route and remove or rename this file</h2>

<p>Routes are set up in config/routes.rb.</p>

</li>



<li>

<h2>Create your database</h2>

<p>Run <tt>rake db:migrate</tt> to create your database. If you're not using SQLite (the default), edit <tt>config/database.yml</tt> with your username and password.</p>

</li>

</ol>

</div>

</div>



<div id="footer"> </div>

</div>

</body>

</html>

远程访问:有问题



判断是iptables造成

</html>[root@localhost ~]# iptables -L

Chain INPUT (policy ACCEPT)

target prot opt source destination

RH-Firewall-1-INPUT all -- anywhere anywhere



Chain FORWARD (policy ACCEPT)

target prot opt source destination

RH-Firewall-1-INPUT all -- anywhere anywhere



Chain OUTPUT (policy ACCEPT)

target prot opt source destination



Chain RH-Firewall-1-INPUT (2 references)

target prot opt source destination

ACCEPT all -- anywhere anywhere

ACCEPT icmp -- anywhere anywhere icmp any

ACCEPT esp -- anywhere anywhere

ACCEPT ah -- anywhere anywhere

ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns

ACCEPT udp -- anywhere anywhere udp dpt:ipp

ACCEPT tcp -- anywhere anywhere tcp dpt:ipp

ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED

ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh

ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https

ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http

REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

关闭防火墙

iptables -F

再次访问没问题了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: