文章

顯示從 二月, 2010 起發佈的文章

Make acts_as_versioned know target model belongs_to association

acts_as_versioned is a great plug-in for Rails. It can keep track of all modifications to your target model with only a little setup. But it seems not support has_*/belongs_to association by default. So let's see how to enable this.

Assume that you are going to keep track of the 'Post' model. and this is probably your model looks like:
class Post < ActiveRecord::Base acts_as_versioned belongs_to :user end
But version.user will not work (at least, for this version).


(1) For newer version of acts_as_versioned, try this:
class Post < ActiveRecord::Base acts_as_versioned do belongs_to :user end end
(2) And for older version, try this:
class Post < ActiveRecord::Base acts_as_versioned belongs_to :user end Post.versioned_class.class_eval do belongs_to :user end

solution 2 works for me! but solution 1 not (ruby 1.8.6, rails 2.3.2, acts_as_versioned 0.3.1)


==Traditional Chinese version==


acts_as_versioned 是個好套件。只要一點設定他就可以幫你紀錄model的版本變動。可是他預設沒有支援has_*/belongs_to的資料庫關聯,所以讓我…

Rails sending emails via gmail not working in heroku server but ok in localhost

I've encountered a problem that my rails app can send email via gmail properly in my computer but not working in heroku server (get an error: "Must issue a STARTTLS command first").

Following by this post:

1. download tls_smtp.rb. (found from this post)
2. put it into your app lib directory
3. import it in config/environment.rb
require 'tls_smtp'

Then upload to heroku, it's done!

I didn't add additional config in config/environments/production.rb as this post said. But it still work.

This is my mailer config (I put it in config/initializers/mail.rb):
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
:address => 'smtp.gmail.com',
:port => 587,
:domain => 'gmail.com',
:authentication => :plain,
:user_name => 'xxxxxx@gmail.com',
:password => '******'
}

Hope this helps


==Traditional Chinese version==

我剛才遇到一個問題,我用gmail寄信,在localhost也測試OK,但是丟上heroku後卻壞掉(得到「Must issue a STARTTLS command first」錯誤)

後來找…

想念

硬碟裡翻出的舊新詩,人事物都變了,就不要多鑽牛角尖了

= = = = =

金黃色夕陽照著,站在窗邊,凝視著天空。「幾年沒見,妳過的好嗎...」
猶新的筆記本在書桌上攤開三頁,上面寫著永遠忘不了的名字──早已不是第一次在數學式右方寫下妳的名字、或在Cloze Test寫下妳的英文名。
高雅的透明高腳杯,裝著妳最愛的1比13檸檬汁,習慣喝檸檬汁來想妳,在不經意寫下妳的名字後。
雖我曾經戒掉想念,發誓永遠忘記,但我──真的忘不了妳。
深愛一個人,卻又不該,我不能說什麼,只是靜靜的離開,我離開,對妳比較好。
想妳就足夠了,不願再見到妳,那只會讓我寂寞加倍。


php分頁功能

注意!這篇文章的方法可能存在資料隱碼(sql injection)的風險,如果您沒有設定自動排除特殊字元(magic_quotes_gpc設定值),那您必須進行防護,例如參考->這篇<-
(整理資料時翻出來的,之前有人問我php分頁要怎麼弄時,寫給他的文章)= = = = = try this! 沒有經過測試,請仔細研究。

觀察SQL語法SELECT*
FROM`news`
ORDERBY`startdate`
LIMIT5,1 #代表「LIMIT 第5筆, 一頁1筆」(but是0開始算喔,所以給5會傳回第6筆)
#所以這個query會傳回單一筆、依照startdate欄位排列後的第6筆record
實作方法構想 1.頁面「view.php?lid=χ」,用lid傳入來使用「LIMIT $lid, 1」,傳回該筆資料的內容
2.並給予view.php?lid=χ-1或+1的超連結(按下後回到第一步驟,如此循環) 構想程式碼 <?PHP
$lid=$_GET['lid'];
$sql="SELECT * FROM `news` WHERE `startdate`<='$today' AND `enddate`>='$today' ORDER BY `startdate`, `id` LIMIT $lid, 1";
//(見註1)
//執行query與印出
?>
<a herf="自己.php?lid=<?PHP echo $lid-- ?>">上一筆</a> | <a herf="自己.php?lid=<?PHP echo $lid++ ?>">下一筆</a> 最頭尾的資料須加上防呆,由於指定給LIMIT第一個參數沒有對應到record的話不會傳回資料,可以藉此判斷是否到達最尾,最頭的話就簡單多了,指定負數絕對是不合法的筆數,因此在lid=0的時候便不給?lid=$lid-1的連結。
效能最佳化:第一次查詢時先得到目前公告的總筆數(見註2),紀錄在SESSION中,$lid==該值的時候不給?lid=$lid+1的連結即可,但須考慮即時更新時掛網的使用者可能無法看到…

2007.7.19清晨

(這篇是我整理舊資料時找到的)
照著晨光的雲
像魚骨
像魚麟
散發著通紅的光彩

三秒鐘抓出牛奶的速度
踏著追趕的步伐離開便利商店
仍讓魚,脫了皮
換上金色的華麗

趨近零度角的自轉
使迎向我的鮮豔不再

無妨
躲在雲層後的陽光
依然美麗。

===隔幾天才補上的散文版===

昨晚睡不著覺 草草的完成些無顯著進展的任務 直到五點十分,清晨 天空已是暗暗的淡藍色 清晨了,仍然睡不著 索性出門買早餐
清晨的景色常常令人驚豔 湖很寧靜 深暗色的湖面,伴著已經熄滅的藝術路燈 與仍灰灰暗暗的天空 說不上驚豔 應說是深深壓入心中的美麗吧 一瞬間的
今天的雲很亂 我猜也許抱著地球科學課本也認不出任何一種 因為實在太雜亂
等著現做早餐時 抬頭望著天空 有像魚骨狀的雲 有像一大片魚鱗的雲 好魚的天空
因著晨光的照耀 雲反射著通紅的色彩
走進便利商店 遲疑不足三秒的抓起低脂牛奶 結了帳,不過幾十秒的時間 雲的色彩已經不再那麼鮮豔 照不透的部份反而出現了黑色
腳踏車騎著騎著 雲層漸漸的又變成了金色 到了宿舍,甚至東方已是清晰的白色帶淡黃陽光
真是出來對了 難得這麼鮮艷的晨光 難得這麼好的時間點
只是又辛苦身體了 六點十七分

被室友鎖記 2007-11-13

半夜一點跟狗賓吃宵夜 回宿舍發現被鎖門(上門栓那種) 該死﹍敲門打電話都沒反應,肯定是睡死了 後來想說留個言在門上,出去玩一玩回來看有沒有開門了,祈禱他們有人起來尿尿
晃出去 一個人安靜的時候果然會注意到細微的事情 開始思考我全身有哪些東西、有什麼可以利用的
首先,我有錢包、鑰匙、手機 錢包裡面有130元、大概還剩90塊的電話卡、學生證、一大一小ok繃、剛才跟狗賓吃宵夜的7-11發票一張 鑰匙有戶門、房門、衣櫥的、跟腳踏車鑰匙 手機忘了繳錢而被停話(上面說到打給他們是借手機打的)
再來,我有算蠻新的籃白拖穿在腳上,外套是號稱雨衣的系外套,外套裡面穿的是白色的無袖排汗衫,褲子是花商的深藍色運動長褲(嘻~當時沒算到內褲﹍不過這個要算嗎!?)
除此之外,還有嗎?

好像沒有
所以你猜我接下來會做什麼事?

我打算走校園一圈



走到設計學院那個路口時,覺得畫面蠻漂亮的,環境是黑黑的,但路口的燈很亮、燈下面就是路標
後來想想,或許我可以去設計工仿碰碰運氣 也許可以碰到彭亦儒
嘿 還被我找到了
所以我只好賴皮一天住他家了


他人還真蠻好的,但最近跟gf分了,so我有義務在這裡幫他代徵一下女友 條件:女;腰細、腿也要細,臉正、心也要正(他開的條件﹍)
不過我相信能達到條件的妹,要不高不可攀、要不就是被把走了 so彭你就再忍耐些吧

後來隔天下午一點才回到宿舍,好啦,還ok 至少在他家有登入google docs看一下os重點 在外面也感受不一樣的生活,偶爾應該打亂一下生活
否則就太乏味了