Code Digest #2

by winson, 8 months ago.

善用return unless的技巧,可以在同一個頁面觸發動作:

def login
  @page_title = 'What are you doing?'
  return unless request.post?
  user = User.find_by_login params[:user][:login]
  redirect_to :action => 'home' if user.password == params[:user][:password]
end
view用一般的form_tag就可以了。判斷user是否已登入:
def logged_in?
  session[:user]
end
請在application controller寫下這個action,那麼隨處都可以使用logged_in?來做條件判斷,前提是必須使用session。要知道目前登入的user是誰嗎?


  • Posted in Sugar, on Sunday, October 28, 2007, at 04:57 AM.

Rails 1.2.4

by winson, 9 months ago.

十月初,Rails終於發佈小改版升級到1.2.4,距離上次1.2.3發佈也經過半年了。

這次1.2.4升級幅度並不大,主要是一些安全修正

在Rails環境底下,如果一切都是透過gem安裝的話,版本升級其實是相當簡單的事情:

gem update rails

基本上,gem的設計相當貼心,舊版本的寶石都會一一保留下來,這就是為什麼在gem list清單看到的寶石,都有好幾個不同版本的原因。

萬一您一時手癢升級,卻導致某些外掛模組無法運作的話,那該怎麼辦呢?要移除也是非常簡單的事情:

gem uninstall rails
這時候,您的Rails就會以上個版本,也就是1.2.3來運作,絲毫不會影響系統的任何功能。


  • Posted in Gems, Rails, on Thursday, October 11, 2007, at 07:42 PM.