rails中級(2)

寫在前面:

遇到解決不了的問題時不能慌,首先要做到的就是冷靜。

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:餓肚子的時候思維速度急劇下降,餓肚子的感覺占據了大腦的大部分思考單位。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容