2009年11月27日 星期五

不經由Apache的架站法

那時是因為卡到主機其實還是有擋port(要開防火牆側設定再開IP分享器設定布拉布拉).不過還是記一下語法

ruby script/server --port AAAA -e development --binding=100.100.0.100
如果改為
ruby script/server --port AAAA -e development --binding=100.100.0.100 -d
那就能直接在後台跑(要移除再用kill -9指令

mongrel_rails start -d -p 8000 -e production -P /full/path/to/log/mongrel-1.pid
但這招還沒實作過

多欄位搜尋功能

有時也不一定真的要全文搜尋.像我的目地只是一個TABLE下多欄位搜尋.卻一直因為window要裝Sphinx幾乎是無解而卡關Orz

最後是找Railcast解決.之前就已看過單頁單欄位版的Simple Search Form

後來又看到還有個Advanced Search Form(後面還補一篇Name Scpoe解釋原理並繼續優化程式碼).於是將兩種方法融合成單頁多欄位搜尋功能(因為還有引用別處TABLE才能在該TABLE下找資料.解法得先找完別處TABLE的資料.再each跑上面ASF的搜尋.用小老鼠變數去帶資料)

寫出來的內容和結果都有點噁心.但目前已足夠

2009年11月26日 星期四

當i18n遇到date_select

先來個前情提要

這兩天新作業說要做多國語言支援.於是回頭挖了大神XDite以前的筆記開始練習(然後PS下的那份正規教學神隱了.我是用google查關鍵字硬拉出文字記錄看的)

基本上前面一切平順.一直到加入多國語言的那份清單.才炸出奇怪的問題:只要一切換語言.網頁就會去跑Create的動作

後來在這邊看到解答:form的method如為POST.就會認為你要做create的動作.改成GET就行了


<% form_tag '' , :method => 'get' do  %>





第一版練習時還遇到奇怪的時間轉碼錯誤.還好有去找解答.雖然我知道問題大概出在哪.卻不知該怎麼解啊




1126補:

第一版練習的DEMO是照著別人寫的.一口氣跟著衝上去遇到很多問題

重寫一次後確定.其實如果不加入動態切換.只需要在config/environment.rb 下這兩行

I18n.load_path += Dir[ File.join(RAILS_ROOT, 'lib', 'locale', '*.{rb,yml}') ]
 
I18n.default_locale = "zh-TW" 

再加上i18n helper.輕鬆方便

2009年11月17日 星期二

LINUX's XAMPP架上ROR

菜鳥什麼都不會.於是一路死了快一週才架起來

測試機台是用(已經有跑PHP的)XAMPP .似乎因為是XAMPP所以modruby使用失敗(因為路徑配置問題無法裝進XAMPP的Apache.或者只是當時還沒裝developer包才失敗.以後再研究)
基本上看的文以mongrel官網Rails wiki和javaeye為主

直接下結論(之前的盲點)

XAMPP要加掛developer包才能成功gem install mysql(路徑也要對好XAMPP的mysql) .這關是最後卡的關卡.或者應該是一開始就卡只是一直不懂.ROR要先gem好mysqk套件才能接上mysql.基本上ROR的安裝和MYSQL的gem都是看這篇

 gem install mysql -- --with-mysql-include=/opt/lampp/bin/mysql --with-mysql-config=/opt/lampp/bin/mysql_config

上面是如果直接預設安裝XAMPP in LINUX.路徑應該就會一樣(另developer包直接tar解下去沒意外是不會有問題的.當然怕的話先備一下是好的)

mongrel也gem好後.再來就參考mongrel官網或其他教學(這部份文章很多、Lightly ROR也有提過)

為何會花一週的時間.其實前三天是先參考了這篇的教法.後來說要直接結合已經有的XAMPP才又做撤退再開的動作.Apache的http.conf再多迷路一陣子.就變成這種情況……

總之目前已經能看到網頁了.可喜可賀.再來要繼續研究能讓PHP一起活在主機上的方法……(如果有的話)

補記:發現更之前我其實有挖到一個針對xampp的外掛包.找機會再用了=___=
補記二:一台Apache上同時跑ROR和PHP的方法:Listen兩個port設好virtualhos即可

參考文

Lighty ROR:Apache 2.2 + Mongrel 設定方式Mongrel 使用方式 Part 2 : Mongrel ClusterRuby on Rails 伺服器架設原理

WIN上跑XAMPP結合ROR方法.留著以防萬一