繼上篇的記錄之後,這應該是第 2 篇記錄來..再一次強調一下,這是無添加成份的純 Ruby 留言板 .. 絕無 RoR 的框架成份..
今晚主要加入了 : 後台管理 (回應留言,刪除留言,登入,登出處理)
不過話說在 COOKIE 的應用上,原來真的有很多不便,因為我沒有用到 cgi.out 的方法去生成表單,都用自己的 HTML 模版方式來生成,所以在存取 COOKIE 上, cgi.out(cookie) 的方法最終在我這初心者手上變得無用武之地,可能是因為功能尚淺的關係吧?
最終解決方法 : 自己寫了個函數,用 Perl 的方法處理掉了
感覺他不像 PHP 那樣,可以在沒輸出 HTML 前就 setcookie , 因為我都用
1 | puts "Content-type: text/html; charset=utf-8\n\n" |
這個方法來輸出為頁面的 (應該沒串錯字吧 = =||)
另外就是關於 CGI::Session 的設置問題,試了差不多三小時,好像都沒有結果,在我的核心文件中使用 include/init 中使用了這方法,之後在到 A 頁面的某一部份存入 Session 變量,再在 A 頁面的另一部份呼叫這個 Session , 傳回來的值是 nil 的 = = 真的不明白,有高手可以指點一下我嗎 = = ..如果還是沒法解決那我的萬惡驗證不應該要暫時改用另一個方法了,又或者學 COOKIE 那樣用另一種方法解決
include/init 大約代碼
1 | require "cgi" |
A(a.rb) 頁面大約原碼
1 | require "include/init" |
最後還記錄一下,一個怪異問題,不知道是 EditPlus 問題,還是 Ruby 本身問題,發言後,用 \n 改行,在 EditPlus 打開直接打開留言檔,是發現沒有換行的,可是再複制一次資料,再貼上空白文件上,那內容又會顯示多了一行空白行…怪怪的..是 OS 問題嗎 ? 感覺不太像