美文网首页Ruby & Rails编程语言快速入门Ruby
全栈营《Rails百宝箱课程》小结和感悟 | 大量gem包各种好

全栈营《Rails百宝箱课程》小结和感悟 | 大量gem包各种好

作者: 竹三七 | 来源:发表于2017-05-21 22:06 被阅读388次
    微信公众号 爱莉莎的雪月花.jpg

    Rails百宝箱学完了

    全栈营iHower老师的Rails百宝箱系列课程学完啦。(此处应有果冻舞的音乐和掌声,谢谢!)

    Rails 百宝箱里:各种更友好的界面设计、更强大的数据处理。那些丰富多彩的gem,充分展示了睿智的程序员们——绝不重复造车轮!

    各种Gem 小结

    1. 多语言设置:
      是指网站中的句子和单字,可以根据用户的语言需求进行切换。作法就是准备翻译词汇档,然后通过调用 I18n 方法,来显示文字。比如:en.yml定义英语词汇,zh-CN.yml定义相应的中文词汇。
    1. 表单单选 | 多选 UI :
    1. 嵌套表单 (1-to-1, or 1-to-many):
    • gem "nested_form_fields"
    1. 选择日期:
    • gem 'bootstrap-datepicker-rails'
    1. 显示用户输入的HTML:
      这里有个安全知识点: 不能用*<%= raw @event.description %> *或 <%= @event.description.html_safe %>,部分狡猾的黑客会输入 Javascript,对网站进行篡改或攻击。使用sanitize 白名单过滤,同时在config/application.rb中,完善白名单。
      **如果要使用Rich Editor,可以用ckeditor gem: **
    • gem 'ckeditor'
    1. 分页功能:
    • gem 'kaminari'
      其中,使用 $rails g kaminari:views bootstrap3,会产生搭配 Bootstrap 样式的样板
    1. 筛选资料:
      关键字搜寻,使用 Ransack , search_field是 ransack 独到的方法
    • gem 'ransack'
    • 如果是大数据等级,请安装专门的全文搜寻引擎,如 Elasticsearch
    1. 调整活动列表的自定义顺序
    • gem 'ranked-model' : 传统UI
    • gem 'jquery-ui-rails' : Ajax拖拉UI,直接用鼠标进行拖拉排序。
    1. 数据汇出:汇出 Excel 档案

      • gem 'rubyzip'
      • gem 'axlsx'
      • gem 'axlsx_rails'
    2. 制作图表分析报名资料

    • Chartkick 这一套搭配 Rails 最简单,甚至不需要写 JavaScript 代码,有 Helper 可以使用
    • Chart.js 这一套好用又漂亮,需要写 JavaScript
    • D3.js 这一套功能最强,是专业的数据可视化套件,但也比较复杂
      Chart.js 有 chart-js-rails gem 可以安装,但因为只有后台有用到,可以不包进 asset pipeline,而使用 CDN 让用户直接从 CDN 服务器下载回去。
    1. 异步任务处理:
    • gem 'sidekiq'
    1. 上传图片:
    • gem 'carrierwave'
    • gem "mini_magick"
    1. 软删除和版本控制,编修记录的UI和复原
    • gem 'paper_trail': has_paper_trail
      paper_trail 文档上,有完整的版本浏览、比较和复原的作法。
    1. 专用的权限检查 gem,避免忘记加上权限(如果忘记加上 before_action)。最知名的有以下两套:
    1. 本机开发的时候,模拟寄出 E-mail
    • letter_opener,这样 Rails 会在寄信时,自动打开浏览器进行预览。
    1. 自动转化 inline CSS
    • gem 'premailer-rails'
      premailer-rails gem 可以帮我们自动自动转换成 inline CSS 。省了多少事。

    一些原则:

    1. DRY: Don't repeat yourself,这是一个写好程序的基本原则。
    2. 能在前端解决的,就在前端解决。如:内联式错误讯息处理。
    3. 增加后台管理员权限:增加一个 role 字串符字段到 users table 上, role:string, 扩充角色弹性。
    • admin 有全部后台权限
    • editor 可以进入后台管理活动,但不能管理用户

    感悟

    30小时转瞬即逝。为bug抓狂过,为迁移成功兴奋过,当解决了一个隐藏很深的认知错误,实现了每日订单数量的图表时,欢呼雀跃。


    Screen Shot 2017-05-21 at 11.14.28.png

    但提交作业时,发现课程的打开率越来越少,最后第四辑只有10多位(500多名一期同学啊),交作业的更少。脑海中突然想起了邓紫棋唱的《后悔无期》。
    在XDite老师的指导教练下,鸡血奋战三个月不难!但是,长期的学习还是要靠自己!充满游戏性的美好教程,也需要你打开全栈营网页才能看到,不是吗?

    喜爱编程,就投入时间给她吧!
    时间看得见!
    共勉!

    相关文章

      网友评论

      • 陈华萍:你好,咨询一下为什么我按照rails百宝箱教材,复制粘贴代码一直报错,希望和你确认一下,教材真的没问题么
        陈华萍:@爱莉莎 我现在在学这个教程,这个教程是我见过的写的最好的能让人学会编程,但是百宝箱这一段好像复制粘贴会报错,所以嘎住了
        竹三七:@陈华萍 真的教材没有问题,我当时没遇到错误。全栈营已经停开了。所以,你是...
      • 007小王子:你好,我刚刚做完第一课:Rails 環境建置課程,第二课的内容是下面的内容吗?https://github.com/growthschool/programming-exercise
        竹三七:@玩命小七 好像是的
      • 云莉6:加油
      • 荷茗::+1: 我要赶赶进度啦~
      • 2b26cb71b38f:你的前端用什么:sweat_smile:
        2b26cb71b38f:@爱莉莎 前端框架
        2b26cb71b38f:@爱莉莎 有没有用什么框架呢?
        竹三七:@凉凉的霜 html 和 js
      • 梦夕梦:厉害👍👍

      本文标题:全栈营《Rails百宝箱课程》小结和感悟 | 大量gem包各种好

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