在上篇隨筆Ruby on rails開發從頭來(windows)(二)-創建項目和第一個Hello world 中,我們介紹了如何使用InstantRails創建一個項目和編寫一個簡單的Helloworld頁面,今天在上次的基礎上,寫一個簡單的頁面跳轉。
1.將appcontrollers目錄下的say_controller.rb文件的內容改成下面這樣:
class SayController < ApplicationController def Hello @time = Time.now end def goodby end end
我們看到和上篇隨筆中的內容相比,添加了:
def goodby end
2.修改appviewssay目錄下的hello.rhtml的內容:
<html> <p> Say <a href="/say/goodbye">GoodBye</a>! </p> </html>
3.下面我們要在appviewssay目錄下創建一個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" %>
可以看到,實際上就是調用了goodbye和hello兩個action。
OK,這篇就到這裡,先求快速挺進,概念的東西先不追究,希望我能堅持下去。