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:饿肚子的时候思维速度急剧下降,饿肚子的感觉占据了大脑的大部分思考单位。

你可能感兴趣的:(rails中级(2))