美文网首页
rails中级(2)

rails中级(2)

作者: 青衣小妖 | 来源:发表于2017-03-31 10:23 被阅读9次

    写在前面:

    遇到解决不了的问题时不能慌,首先要做到的就是冷静。

    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)

          本文链接:https://www.haomeiwen.com/subject/kiimottx.html