文章

目前顯示的是 二月, 2008的文章

rails 2.0 如何把controller跟view放到子資料夾使用

(最下面有補充正解) 看過「ruby on rails專業網站案例實作」這本書的話 應該知道他們把幾個controllers放到admin資料夾底下 /app/controllers/books_controller.rb 移到/app/controllers/admin/ 底下 網址也從localhost/books 變成了localhost/admin/books 在升級到rails 2.0後卻讓我搞老半天 經過一些人的指導 我得到一個暫時的答案 答案是: 1.不需要用子資料夾就可以換網址 如果有需要從localhost/books 變成了localhost/admin/books 只要改routing即可達到目的 但是routing的設定在此不提 2.不應該把程式檔案放在子資料夾 不應該有撞名的問題,所以不需要到把controllers分到資料夾做分類 如果放到子資料夾了,routing路徑也改了,就會有template is missing的問題(我猜是因為rails假設不會用到子資料夾,所以樣板當然也不會去子資料夾找) 2010-2-23補充:正解是 使用namespace (正解其實早就知道了,只是我很久沒寫rails就懶得記筆記...XD)

acts as authenticated為什麼無法寫入actived_at欄位?

如果你跟我遇到一樣的狀況 在rails的acts as authenticated套件啟用activation認證碼開通功能的時候 發現activation_code這個欄位會被清除,但actived_at欄位卻還是NULL沒有變成寫入時間(導致登入時被擋掉) 那麼肯定跟我中同一個標了 Be careful !! * User Activation is not secured. You need to add the following line to your user model : attr_protected :activated_at 這段取自acts as authenticated的說明網頁 他叫你在user model加入「attr_protected :activated_at」這行 如果你乖乖的加入了 現在請把它刪除 嗯...然後這部份就正常了... 我猜可能是rails版本不同的關係 當時用「acts as authenticated activated_at」當keywords也沒搜尋到資料 總之 我花了23次的try and error才發現的(一切搞定時,table users已經autoindex到23了) 辛苦我自己了= ="