The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
posts - 305, comments - 1913, trackbacks - 76, articles - 3
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

在上篇随笔Ruby on rails开发从头来(windows)(二)-创建项目和第一个Hello world 中,我们介绍了如何使用InstantRails创建一个项目和编写一个简单的Helloworld页面,今天在上次的基础上,写一个简单的页面跳转。

1.        app\controllers目录下的say_controller.rb文件的内容改成下面这样:

class SayController < ApplicationController

       def Hello

                     @time = Time.now

       end

       def goodby

       end

end

我们看到和上篇随笔中的内容相比,添加了:

def goodby

end

2.        修改app\views\say目录下的hello.rhtml的内容:

<html>

<p>

Say <a href="/say/goodbye">GoodBye</a>!

</p>

</html>

3.        下面我们要在app\views\say目录下创建一个goodbye.rhtml文件,内容如下:

<html>

<head>

<title>See You Later!</title>

</head>

<body>

<h1>Goodbye!</h1>

<p>

It was nice having you here.

</p>

</body>

</html>

4.        在浏览器地址栏中输入:http://127.0.0.1:3000/say/hello,再试试点链接看看,页面已经可以迁移了。

5.        现在我们再添加由goodbye页面到hello页面的链接,修改goodbye.rhtml的内容为:

<html>

<p>

Say <a href="/say/hello">Hello</a>!

</p>

</html>

再试试看,两个页面已经可以互相跳转了。

6.        在上面的代码中,我们看到页面间的迁移使用的是路径来定位,如果页面存放的位置发生了变化,那么跳转肯定会失败,更安全的是使用下面的方式。

修改hello.rhtml的内容:

<html>

<head>

<title>Hello, Rails!</title>

</head>

<body>

<h1>Hello from Rails!</h1>

<p>

It is now <%= @time %>.

</p>

<p>

Time to say

<%= link_to "GoodBye!", :action => "goodbye" %>

</p>

</body>

</html>

 

修改goodbye.rhtml的内容:

<html>

<head>

<title>See You Later!</title>

</head>

<body>

<h1>Goodbye!</h1>

<p>

It was nice having you here.

</p>

<p>

Say <%= link_to "Hello", :action=>"hello" %> again.

</p>

</body>

</html>

 

注意代码里的两句:

<%= link_to "GoodBye!", :action => "goodbye" %>

<%= link_to "Hello", :action=>"hello" %>

可以看到,实际上就是调用了goodbyehello两个action

 

OK,这篇就到这里,先求快速挺进,概念的东西先不追究,希望我能坚持下去。

Feedback

#1楼    回复  引用    

2007-05-27 16:34 by guru [未注册用户]
同志写的很好,要坚持呀,有很多人等着看呢

#2楼 [楼主]   回复  引用  查看    

2007-05-28 14:29 by Cure      
@guru
谢谢鼓励,最近实在是太忙了,没有精力写新东西,等这阵子忙完了,一定继续这个系列。

#3楼    回复  引用    

2007-07-02 17:23 by 天空 [未注册用户]
加油,我已经按照你主的做了这些,完全正确

#4楼    回复  引用    

2007-12-27 17:55 by r [未注册用户]
楼主赶快啊,我也是刚学习这个,好东西

#5楼    回复  引用    

2007-12-29 18:08 by waterathena [未注册用户]
我也是。我都按照你说的做的。
是看到哪本书?还是自己准备写书?

#6楼    回复  引用    

2008-07-23 10:02 by 太平洋 [未注册用户]
<p>

It is now <%= @time %>.

</p>
LZ的这段代码是用来显示当前时间的,但是在hello.rhtml并没有
require say_controller.rb
又怎么显示呢??

其二:"如果页面存放的位置发生了变化,那么跳转肯定会失败,更安全的是使用下面的方式。"

但是下面的例子又没有说明这一点.希望LZ改进一下,继续关注.


#7楼    回复  引用    

2008-07-23 10:03 by 太平洋 [未注册用户]
我是初学,有什么说错,望谅解!!!

#8楼    回复  引用    

2008-08-20 17:50 by hlili [未注册用户]
--引用--------------------------------------------------
太平洋: &lt;p&gt;

It is now &lt;%= @time %&gt;.

&lt;/p&gt;
LZ的这段代码是用来显示当前时间的,但是在hello.rhtml并没有
require say_controller.rb
又怎么显示呢??

其二:&quot;如果页面存放的位置发生了变化,那么跳转肯定会失败,更安全的是使用下面的方式。&quot;

但是下面的例子又没有说明这一点.希望LZ改进一下,继续关注.



--------------------------------------------------------
ruby会根据名字自动搜索到view里的相应.rhtml,所有并不需要require,ruby比较强调命名规则

#9楼    回复  引用    

2008-08-20 17:51 by hlili [未注册用户]
那个更安全应该是指没有写相对路径,而是根据mvc的关联来操作吧?lz我说对了吗?

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-06-28 14:39 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接:

历史上的今天:
2006-04-12 来给这位漂亮的宝宝投上一票吧!!