原创 Rails寶典之第十六式: 虛擬屬性

看一個場景,用戶註冊時需要填寫First Name,Last Name,Password:  Java代碼   <h1>Register</h1>   <% form_for :user, :url => users_path

原创 Sublime Text 2 使用入門

今天看到了一款跨平臺 (win, mac, linux) 的代碼編輯器, 類似於 Mac 的 TextMate, 同時又集成着 Vim 的操作方式. 下面是 Lucifr 的三篇介紹:Sublime Text 2 入門及技巧ZenC

原创 Rails寶典之第十九式: admin在哪裏

我們通常對admin頁面的做法是運行:  Java代碼   ruby script/generate scaffold xxx 'admin/yyy'   其中xxx爲我們的singular的Model名,而yyy爲我們的pl

原创 Rails寶典之第二十二式: eager loading

看這個頁面代碼:  Java代碼   <% for task in @tasks %>     <%= link_to task.name, task_path(task) %> in <%= task.project.nam

原创 Rails寶典之第二十四式: Stack Trace

這次講的是一個textmate plugin textmate_footnotes,用來當Rails程序頁面出錯時可以點擊Stack Trace鏈接去到  Rails程序源碼甚至Rails源碼中。  No use for no Mac g

原创 Rails寶典之第二十一式: 超級簡單的認證

續上一節。  我們知道Acts as Authenticated、restful_authentication等許多插件,我們這裏爲了開發方便也可以簡單實現admin?方法:  Java代碼   def admin?     

原创 LAMP網站架構方案分析

 LAMP(Linux-Apache-MySQL-PHP)網站架構是目前國際流行的Web框架,該框架包括:Linux操作系統,Apache網絡服務器,MySQL數據庫,Perl、PHP或者Python編程語言,所有組成產品均是開

原创 Rails寶典之第十三式: Model放在Session裏的危險

上次我們說到@current_user時不要將user對象放在session裏,而只放user_id,然後每次去數據庫取user對象。  有人不理解,這次的視頻給出了答案:  Java代碼   class UsersContr

原创 Rails寶典之第十八式: 循環flash

我們在application.rhtml(global layout)裏經常需要寫各種flash的顯示:  Java代碼   <% unless flash[:notice].nil? %>     <div id="noti

原创 Rails寶典之第二十三式: counter cache

這次就是講用_count字段來緩存has_many的計數  看Project和Task的例子:  Java代碼   <h1>Projects</h1>      <table>   <% for project in @pr

原创 Rails寶典之第二十式: 限制訪問

續上一節。  我們在頁面中加上如下代碼來限制public訪問:  Java代碼   <!-- episodes/index.rhtml -->   <% if admin? %>     <%= link_to 'New Epi

原创 Rails寶典之第十式: 重構用戶名-p1

看這個顯示用戶Profile的頁面:  Java代碼   <h1>Profile</h1>   <p>     Name:     <%= @user.first_name %>     <%= "#{@user.middle_

原创 Rails寶典之第十一式: 重構用戶名-p2

繼續重構。  我們先來寫User類的單元測試,定義3個測試方法:  Java代碼   require File.dirname(__FILE__) + '/../test_helper'      class UserTest

原创 Rails寶典之第十七式: 多對多Checkbox編輯

這次是講多對多情況下的編輯,我們使用Checkbox來完成該工作:  Java代碼   class Category < ActiveRecord::Base     has_and_belongs_to_many :produ

原创 Rails寶典之第十二式: 重構用戶名-p3

這次我們來重構我們的測試用例。  Java代碼   require File.dirname(__FILE__) + '/../test_helper'           class UserTest < Test::Unit