彙整

Archive for the ‘ror’ Category

community engine

五月 26, 2008 CrazyLion 留言

剛剛把rails 的一個plugin-community engine 給裝起來用用看。這個plugin特殊在他可以是一整個網站,也可以透過plugin的模式寄生在宿主的project中。 他的plugin 模式其實就是把原本的網站裝到 vendor/plugin/community_engine 然後透過一些設定讓plugin裡面的網站可以伸出頭來呼吸。  rails 真的很猛…..

最近跟朋友都在研究這一堆plugin,收穫頗豐呢!

Categories: ror, ruby, web-Development

rails-data-browser

五月 25, 2008 CrazyLion 留言

source:http://www.railslodge.com/plugins/1045-rails-data-browser

類似phpmyadmin 不過主要針對model 的 CRUD,不含資料庫管理功能。

rails 1.2.x似乎不能用,rails 2.x以上可以正常運作。

Categories: ror, ruby, web-Development

bundle-fu

十月 30, 2007 CrazyLion 留言

via:bundle-fu

這個RoR的plugin看起來很棒。我們一般在寫網頁的時候都會依照每一個網頁的需求include 不同的css/js 檔案。例如說,我們有一個main.css 掌控基本的設定,但是在產品檢視頁面可能要include 特定的 product.css/js

不過如果檔案一多的話,connection 開開關關的就會讓網頁變得比較慢才下載完成(不管大小)。所以最佳化的手冊都會告訴我們減少額外include 的檔案數量。

簡單的說,他會把你在網頁中include 的 js/css 各包成一個檔。使用上也很簡單,原本是這樣寫:

<%= javascript_include_tag “prototype” %>
<%= stylesheet_link_tag “basic.css” %>
<%= calendar_date_select_includes “red” %>
<script src=”javascripts/application.js” type=”text/javascript”></script>

裝了這個plugin之後,只要改成這樣寫:

<% bundle do %>
<%= javascript_include_tag “prototype” %>
<%= stylesheet_link_tag “basic.css” %>
<%= calendar_date_select_includes “red” %>
<script src=”javascripts/application.js” type=”text/javascript”></script>
<% end %>

最後html的頁面就會被個包成一個檔。像是這樣:

<script src=”javascripts/cache/application_bundle.js?1193283359″ type=”text/javascript”></script>
<link rel=’stylesheet’ href=”javascripts/cache/application_bundle.css?1193283359′ type=’text/css’ />

看起來真的很棒阿 :P

Categories: ror, ruby

在ROR中產生RSS

十月 19, 2007 CrazyLion 留言

其實很簡單,請參考 HowtoGenerateARSSFeed 這篇。我是用第一種用法,看起來大致上就夠了。不過有幾點要注意一下。

1. @headers["Content-Type"] = “application/xml” 要改成 headers["Content-Type"] = “application/xml”

2. 如果有中文字都會被escaped掉。

例如標題是:測試,直接打開xml來看就會變成:escaped.png

瀏覽器打開來看是正常啦,可是我個人不是很喜歡這樣…,所以有幾種可行的方式可以處理。

1)第一種就是封在CDATA! ex:

xml.title{ xml.cdata!(“測試”) }

那生出來的內容就不會幫你做處理(阿就都包在[[CDATA! 裡了阿)。

2)第二種就是使用 << 運算子 讓ror 內帶的rexml Builder知道要掠過這段處理。 ex:

xml.title do
xml.<<”測試”
end

這樣就可以了,不知道還有沒有更好的方法@@,原本xml builer 裡面是寫可以建立的時候給定 escape_attrs 這個參數。不過嘛…裡面也說這個參數不建議使用了。 其實這兩個方法應該可以一起使用,一般來說(RSS2.0),title的值都是已經濾掉html tag 的東東,所以就可以使用第二種方法。

description中的話,也可以自己濾掉後用CDATA封起來。但是在<content:encoded>中濾掉html tag 的話就不是很好了阿….,所以就可以使用第一種方法來維持原有的樣式。

Categories: ror, web-Development

[ror]Acts_as_authenticated 和 active_scaffold_upload 會相衝喔…

八月 3, 2007 CrazyLion 留言

active_scaffold_upload Acts_as_authenticated 這兩個plugin會衝突…

錯誤訊息是: undefined method `[]‘ for xxxxxxxx

因為沒在用 active_scaffold_upload 所以移掉它就好了

Categories: ror

[ror]使用rmagick縮圖

八月 1, 2007 CrazyLion 留言

適用版本:RMagick 1.14.1 binary gem for Ruby 1.8.5

奇怪語法好像改變了,現在使用

img = Magick::ImageList.new(“filename”)

會出現什麼 can’t convert string to integer …. 的錯誤,查了官方的api,這樣用法沒錯阿….,不知道是啥鬼問題,不過現在沒那美國時間去追程式碼。我猜可能是版本的問題吧,反正現在要縮圖的話,可以用下列的語法。

img = Magick::Image.read(“filename”).first # 因為 可以讀入很多圖檔,所以傳回值是一個陣列
thumbnail = img.thumbnail(width,height)
thumbnail.write(“filename”)

要注意的是如果你縮圖存在別的目錄,那麼那個目錄要先存在喔。

Categories: ror

[ror]acts as taggable

六月 18, 2007 CrazyLion 留言

最近要做個網站,在ror 跟wicket中看了看還是挑了ror,一方面是時間不太夠,ror可以幫助我用最快的速度把這個網站做出來。另一方面就是:反正套頁都是我們這些寫程式的在套,wicket那漂亮的樣板系統也用不太到啦@@

這個plug in可以讓ror的網站,以飛快的速度擁有可以對物件下tag的能力。這是其他framework望塵莫及的地方阿!!!

不過原始的這個套件找不太到了,找到還有點問題。 首先我打

ruby script/plugin install acts_as_taggable

唔,找不到這個plugin…,到官方的wiki上找到官方的svn 裡面也沒有這個套件了…找了好久,一種解決方法是打

ruby script/plugin discover

讓ror 找到更多套件庫的位置,但是抓下來裝的有問題阿…orz 找不到加tag 的method….

所以,只好繼續找,終於找到這套,抓下來的時候會同名,但是是後來改寫過的:Acts As Taggable On Steroids

安裝要這樣:

ruby script/plugin install http://svn.viney.net.nz/things/rails/plugins/acts_as_taggable_on_steroids

其他使用方面改變不大,但是現在設定tag後,要記得 object.save才會更動到資料庫裡(效能考量吧,我想)。

Categories: ror

redmine 中文語系檔

四月 7, 2007 CrazyLion 留言

之前寫過這套的介紹,一直認為比trac 方便許多,於是就順手做了中文語系檔。其實已經submit給官方了,不過不知道官方會不會接受XD。不確定是否適用0.42,因為這是從svn下來的版本 :P 應該可以用啦 。

redmine 中文語系檔

Categories: Open Source, ror, ruby