寫在前面:
遇到解決不了的問題時不能慌,首先要做到的就是冷靜。
1、報錯記錄:每次操作完app以外的內容時,都要運行一遍rake db:migrate這個命令,相當于更新當前的資料庫,由于app內是動態上傳的,只要有修改就會體現到本地頁面上。沒有運行rake db:migrate的話,網頁與表單內容對不上,就會報錯。在操作完增加群組和退出群組時,發現了一個課程bug(應該算的上是個bug吧),之前開始時已經加入了會員系統devise,操作時也進行注冊登陸了,而到這一步你會發現當你是非登陸狀態時,就會報錯。是因為
if !current_user.is_member_of?(@group)
current_user.join!(@group)
flash[:notice] = "加入本討論版成功!"
else
flash[:warning] = "你已經是本討論版成員了!"
end
redirect_to group_path(@group)
end
這個判斷里面,在非登陸時,current_user是空的,沒有值,自然不能運行。
debug方式通過助教的知道是在group_controller.rb里面
class GroupsController < ApplicationController
before_action :authenticate_user! , only: [:new, :create, :edit, :update, :destroy]
before_action :find_group_and_check_permission, only: [:edit, :update, :destroy]
將only換成except,變成 before_action :authenticate_user!, except:[:index,:show],這樣以來就可以限制除目錄和瀏覽項外都需要登陸了。
2、(1)今天學習了“新增”、“編輯”、“刪除”、“瀏覽”功能的實作。實用了的devise gem來產生會員系統。實用了before_action來限制只有群組的創建者可以操作編輯和刪除等功能。學習了用時間排序的方法。利用bootstrap里的功能做下拉菜單。
(2)今天的心情就像幾天前的排bug一樣,并非自己在atom編輯器上的失誤,在終端上也沒有失誤,重做也是一樣。略微奔潰。不過在助教的幫助下還是找到了原因,還是蠻有成就感的。
(3)今天的一個重要領悟是遇到解決不了事,可以先去吃個飯,休息一下,給大腦一個空當,整理一下思路。
(4)堅持就是勝利!
3、ORID:餓肚子的時候思維速度急劇下降,餓肚子的感覺占據了大腦的大部分思考單位。