這兩天不是很忙,非常不錯(cuò),很是開(kāi)心,終于可以有點(diǎn)自己的空閑時(shí)間了
。不過(guò)之所以所以學(xué)習(xí)ruby,還是因?yàn)榫W(wǎng)上傳得太火爆了,大有新一輪技術(shù)革命的感覺(jué)。
首先從網(wǎng)上找到了一篇ruby on rails實(shí)戰(zhàn),按部就班的演習(xí)一遍,發(fā)現(xiàn)果然是如此的簡(jiǎn)單易用,開(kāi)發(fā)一個(gè)CRUD竟是如此的容易,對(duì)于我這個(gè)從事J2EE多年的編程人員來(lái)說(shuō),感觸到的不僅僅是驚喜。那篇文章中有幾處小bug,但是很容易的就被我調(diào)試好了,雖然我還并沒(méi)有太熟悉ruby on rails或是ruby(以前也曾看過(guò)ruby語(yǔ)法,但API看的非常少),這樣說(shuō)明了它的簡(jiǎn)單易用性。以前看到一些評(píng)論說(shuō),它的開(kāi)發(fā)效率是java的十倍,當(dāng)時(shí)曾經(jīng)嗤之以鼻,但現(xiàn)在感覺(jué)話(huà)雖有些夸張,但效率還是很驚人的。
現(xiàn)在把我碰到的一個(gè)問(wèn)題簡(jiǎn)單寫(xiě)出來(lái),以防以后查用:
在使用ruby命令時(shí),如果使用ruby script\generate controller book簡(jiǎn)單的創(chuàng)建controller 骨架文件book_controller.rb,我們會(huì)發(fā)現(xiàn),除了這個(gè).rb文件外我們并沒(méi)有生成其它文件,除了app\views\book這個(gè)空的文件夾外。然后當(dāng)我們的程序運(yùn)行下來(lái)后,發(fā)現(xiàn)頁(yè)面上沒(méi)有任何的樣式,\public\stylesheets下也是空空如也,這時(shí),我們可能要修改一些自己的東西,需要在book_controller.rb中新添加一些方法,要手工添加一些相應(yīng)的.rhtml文件,按照說(shuō)明我們?cè)趐ublic\stylesheets下加入scaffold.css樣式表,但是發(fā)現(xiàn)沒(méi)有任何效果,這是因?yàn)?rhtml中的樣式?jīng)]有找到樣式表,我們需要手工添加,例如:
<head>
<link href="/stylesheets/scaffold.css" media="screen" rel="Stylesheet" type="text/css" />
<title>All books</title>
</head>
這樣就可以自己指定樣式表的位置。
當(dāng)然,ruby on rails可以為我們做更多,我們可以使用ruby?script/generate?scaffold?book來(lái)生成完整的框架,包括.rhtml和\public\stylesheets\scaffold.css.這時(shí)候我們會(huì)發(fā)現(xiàn)app\views下生成的文件夾名為books,這可能是因?yàn)槲矣玫搅吮碇g的一對(duì)多關(guān)聯(lián),它就自動(dòng)建立了復(fù)數(shù)的文件夾名,但是數(shù)據(jù)庫(kù)中的表名還是單數(shù)的,這個(gè)并沒(méi)有發(fā)生變化。(之所以這樣認(rèn)為,是因?yàn)楫?dāng)我沒(méi)有指明表之間的一對(duì)多關(guān)系時(shí),生成的都是單數(shù)文件夾名,如book,當(dāng)我指明后則生成了books,還沒(méi)有深入了解,目前只是猜想) 。
app\views\books下會(huì)自動(dòng)生成一套CRUD的.rhtml頁(yè)面,還有一個(gè)_form.rhtml,在app\views下還會(huì)生成一個(gè)layouts文件夾,下面有一個(gè)books.rhtml頁(yè)面文件,打開(kāi)后會(huì)發(fā)現(xiàn),里面的代碼類(lèi)似于一個(gè)頁(yè)面模版,而其它app\views\books的CRUD的.rhtml頁(yè)面上就是一些簡(jiǎn)單的函數(shù)和方法,其實(shí),在顯示時(shí)他們確實(shí)是調(diào)用books.rhtml的模版的,也可以看到,在books.rhtml中已經(jīng)加載了scaffold.css,就是這一句了<%= stylesheet_link_tag 'scaffold' %>。就這么簡(jiǎn)單。
其實(shí)ruby on rails還是有非常多的東西要學(xué)習(xí)的,雖然很簡(jiǎn)單,但是要想非常好的使用還得下一番苦功夫。暫時(shí)到這里吧,希望和大家多多交流學(xué)習(xí)使用ruby on rails的新的體會(huì)。

首先從網(wǎng)上找到了一篇ruby on rails實(shí)戰(zhàn),按部就班的演習(xí)一遍,發(fā)現(xiàn)果然是如此的簡(jiǎn)單易用,開(kāi)發(fā)一個(gè)CRUD竟是如此的容易,對(duì)于我這個(gè)從事J2EE多年的編程人員來(lái)說(shuō),感觸到的不僅僅是驚喜。那篇文章中有幾處小bug,但是很容易的就被我調(diào)試好了,雖然我還并沒(méi)有太熟悉ruby on rails或是ruby(以前也曾看過(guò)ruby語(yǔ)法,但API看的非常少),這樣說(shuō)明了它的簡(jiǎn)單易用性。以前看到一些評(píng)論說(shuō),它的開(kāi)發(fā)效率是java的十倍,當(dāng)時(shí)曾經(jīng)嗤之以鼻,但現(xiàn)在感覺(jué)話(huà)雖有些夸張,但效率還是很驚人的。
現(xiàn)在把我碰到的一個(gè)問(wèn)題簡(jiǎn)單寫(xiě)出來(lái),以防以后查用:
在使用ruby命令時(shí),如果使用ruby script\generate controller book簡(jiǎn)單的創(chuàng)建controller 骨架文件book_controller.rb,我們會(huì)發(fā)現(xiàn),除了這個(gè).rb文件外我們并沒(méi)有生成其它文件,除了app\views\book這個(gè)空的文件夾外。然后當(dāng)我們的程序運(yùn)行下來(lái)后,發(fā)現(xiàn)頁(yè)面上沒(méi)有任何的樣式,\public\stylesheets下也是空空如也,這時(shí),我們可能要修改一些自己的東西,需要在book_controller.rb中新添加一些方法,要手工添加一些相應(yīng)的.rhtml文件,按照說(shuō)明我們?cè)趐ublic\stylesheets下加入scaffold.css樣式表,但是發(fā)現(xiàn)沒(méi)有任何效果,這是因?yàn)?rhtml中的樣式?jīng)]有找到樣式表,我們需要手工添加,例如:
<head>
<link href="/stylesheets/scaffold.css" media="screen" rel="Stylesheet" type="text/css" />
<title>All books</title>
</head>
這樣就可以自己指定樣式表的位置。
當(dāng)然,ruby on rails可以為我們做更多,我們可以使用ruby?script/generate?scaffold?book來(lái)生成完整的框架,包括.rhtml和\public\stylesheets\scaffold.css.這時(shí)候我們會(huì)發(fā)現(xiàn)app\views下生成的文件夾名為books,這可能是因?yàn)槲矣玫搅吮碇g的一對(duì)多關(guān)聯(lián),它就自動(dòng)建立了復(fù)數(shù)的文件夾名,但是數(shù)據(jù)庫(kù)中的表名還是單數(shù)的,這個(gè)并沒(méi)有發(fā)生變化。(之所以這樣認(rèn)為,是因?yàn)楫?dāng)我沒(méi)有指明表之間的一對(duì)多關(guān)系時(shí),生成的都是單數(shù)文件夾名,如book,當(dāng)我指明后則生成了books,還沒(méi)有深入了解,目前只是猜想) 。
app\views\books下會(huì)自動(dòng)生成一套CRUD的.rhtml頁(yè)面,還有一個(gè)_form.rhtml,在app\views下還會(huì)生成一個(gè)layouts文件夾,下面有一個(gè)books.rhtml頁(yè)面文件,打開(kāi)后會(huì)發(fā)現(xiàn),里面的代碼類(lèi)似于一個(gè)頁(yè)面模版,而其它app\views\books的CRUD的.rhtml頁(yè)面上就是一些簡(jiǎn)單的函數(shù)和方法,其實(shí),在顯示時(shí)他們確實(shí)是調(diào)用books.rhtml的模版的,也可以看到,在books.rhtml中已經(jīng)加載了scaffold.css,就是這一句了<%= stylesheet_link_tag 'scaffold' %>。就這么簡(jiǎn)單。
其實(shí)ruby on rails還是有非常多的東西要學(xué)習(xí)的,雖然很簡(jiǎn)單,但是要想非常好的使用還得下一番苦功夫。暫時(shí)到這里吧,希望和大家多多交流學(xué)習(xí)使用ruby on rails的新的體會(huì)。