Ruby on Rails全栈课程--宠物论坛
真正的全栈课程,跟着本课程的步骤走,保证给你一个完整的Ruby on Rails项目。linux系统安装、ruby环境部署、项目新建启动、项目的思路以及实际代码步骤,都在本课程中体现。希望能给你一个好的课程体验,有疑问或者建议欢迎在课程中留言哦~~
喵宁一
这个作者很懒,什么都没留下…
展开
-
【Ruby on Rails全栈课程】5.5 项目上线--nginx+unicorn部署项目、域名映射
1、域名映射准备材料云服务器以及域名(参考5.1 购买服务器、域名) nginx unicorn2、安装以及设置nginxNginx 是一个高性能的HTTP和反向代理服务可以理解为连接我们项目以及域名的一个代理服务器,我们会在nginx配置文件中配置我们的项目目录以及需要映射的域名(1)安装nginxubuntu@VM-16-15-ubuntu:~$ sudo apt...原创 2019-03-17 23:56:00 · 696 阅读 · 0 评论 -
【Ruby on Rails全栈课程】5.4 项目上线--项目初始化
1、数据库初始化(1)登录数据库,创建名为data_system的databaseubuntu@VM-16-15-ubuntu:~/data_symtem$ mysql -u root -p//输入你在5.2 节配置的数据库密码Enter password://创建一个名为data_system数据库mysql> create database data_system;...原创 2019-03-16 12:44:00 · 313 阅读 · 0 评论 -
【Ruby on Rails全栈课程】5.3 项目上线--git部署项目
1、git分布式版本控制系统是什么?现在本地电脑1有一套data_system的代码,如果想把这套代码放到云服务器上,应该怎么做呢?最简单的做法是直接将本地电脑1上的代码拷贝到服务器上。但是我们拷贝完成后发现了一个bug1,在本地电脑1的代码中修复了之后。需要与云服务器上的代码同步,还是要将本地电脑1的代码拷贝到服务器上吗?团队的另一个人修改了bug2,没有修改bug1,他如果将自己本地电...原创 2019-03-08 11:09:03 · 1176 阅读 · 0 评论 -
【Ruby on Rails全栈课程】5.2 项目上线--在云服务器上配置Ruby On Rails环境
1、登录到云服务器(ssh ubuntu@45.40.245.66),//其中ubuntu是实例名,45.40.245.66是主ip地址里面的公网ip,登录时需要换成你自己的公网ipxuzhaoning@xuchaoningdeAir:~$ ssh ubuntu@45.40.245.66//系统返回信息ubuntu@45.40.245.66's password://第一次输入密码输入错...原创 2019-03-07 13:23:02 · 283 阅读 · 0 评论 -
【Ruby on Rails全栈课程】5.1 项目上线--购买服务器、域名
项目完成后,如果希望别人能通过域名访问到我们的项目,那就要将项目上线,需要准备两个工具:云服务器(预计500元/年)已备案的域名(预计20元/年)1、购买云服务器(1)我们以购买腾讯云服务器为例,打开这个链接,选择新建实例https://console.cloud.tencent.com/cvm/index(2)出现以下页面,我们看一下购买腾讯云服务器每一项怎么选地域可以随便选,...原创 2019-03-05 11:50:41 · 287 阅读 · 0 评论 -
【Ruby on Rails全栈课程】4.7 评论功能实现(六)--其他回复展开
1、描述每条评论下面的回复条数最多显示两条,多于两条,回复下面会显示「更多n条回复 ↓」链接,每次点击此链接,展开8条回复,页面不刷新,需要配合ajax和js实现。2、实现功能(1)在routes.rb文件中添加路径,加上两个参数,:comment_id为回复所属的评论的id,point为此次点击为第几次点击get 'posts/show_replys/:comment_id/:point...原创 2019-02-22 12:53:18 · 349 阅读 · 0 评论 -
【Ruby on Rails全栈课程】4.6 评论功能实现(五)--删除评论
1、在routes.rb文件中添加路径get 'posts/delete_comment/:comment_id' => 'posts#delete_comment'2、在posts_controller.rb文件中添加delete_comment方法def delete_commentend3、在comment.rb文件中添加get_account_right方法,来获取当前...原创 2019-02-22 10:27:04 · 598 阅读 · 0 评论 -
【Ruby on Rails全栈课程】4.5 评论功能实现(四)--创建评论、另一种传参方式
1、在routes.rb文件中添加路径post 'posts/create_comment' => 'posts#create_comment'post和get的区别:GET和POST是HTTP请求的两种基本方法,GET一般用于获取数据的,POST一般用于提交数据。2、在posts_controller.rb文件中添加create_comment方法def create_c...原创 2019-02-21 10:48:47 · 384 阅读 · 0 评论 -
【Ruby on Rails全栈课程】4.4 评论功能实现(三)--分页(插件Kaminari)
1、实现分页功能我们需要使用“kaminari”插件,我们先来安装一下(1)粘贴下面代码到Gemfile文件中gem 'kaminari'(2)运行bundle install安装gem/vagrant/data_system$ bundle install#系统返回信息Fetching gem metadata from [https://rubygems.org/](https:...原创 2019-02-20 15:46:04 · 426 阅读 · 0 评论 -
【Ruby on Rails全栈课程】4.3 评论功能实现(二)--创建帖子详情页面
1、完善样式,用来显示帖子详情以及评论信息等,编辑app/assets/stylesheets/posts.scss文件,在原有代码下面添加代码:.head { font-size: 18px; font-weight: 700; padding: 10px 0;}.time_right { float: right; font-size: 12px...原创 2019-02-20 11:26:40 · 414 阅读 · 0 评论 -
【Ruby on Rails全栈课程】4.2 评论功能实现(一)--数据表的创建
1、详情页面功能描述(1)点击帖子标题/帖子内容,进入帖子详情页面,评论框在详情页面最下面。(2)点击详情页面的评论按钮,页面定位到评论框。(通过锚点定位)(3)点击每个评论下面的回复按钮,在该评论下面出现回复评论框,回复变成取消回复,点击取消回复,收起评论框。用js控制。(4)如果评论被删除,评论内容展示为「该评论已删除」,该评论回复按钮隐藏,该评论下面的回复可以正常显示和回复(5)每...原创 2019-02-19 14:05:58 · 537 阅读 · 0 评论 -
【Ruby on Rails全栈课程】4.1 点赞功能
1、功能描述:(1)一个用户对同一帖子只能点赞一次,点击第二次是取消赞(2)用户不刷新页面的时候,点赞时当前页面相应贴子的点赞数+1,图标变成fa-thumbs-up,取消赞时当前页面相应帖子的点赞数-1,图标变成fa-thumbs-o-up,不受其他用户同时点赞操作的影响,这需要js来控制。C、用户必须登录才能给帖子点赞。没有登录的话,点赞需要提醒登录。(在3.10章第3节已经实现了 if...原创 2019-02-17 17:29:05 · 586 阅读 · 0 评论 -
【Ruby on Rails全栈课程】3.10 网站主页面显示帖子列表
1、完善样式,编辑app/assets/stylesheets/home.css.scss文件,在原先代码后面添加下面代码.issue-list { background: #fff; clear: both; padding: 0 1em; margin-bottom: 1em; border: 1px solid #ddd; article { border-...原创 2019-02-15 13:19:08 · 388 阅读 · 0 评论 -
【Ruby on Rails全栈课程】3.9 发布(创建)帖子
1、创建数据库表格(1)创建posts表来保存贴子信息,表结构如下:字段名字段说明字段类型备注head标题string必填body内容text必填account_id用户idinteger必填as_type类型integer0普通贴子 1精华帖 2置顶帖status状态integer0正常 1已删除(2)在项目...原创 2019-01-28 16:11:32 · 345 阅读 · 0 评论 -
【Ruby on Rails全栈课程】3.8 权限管理之超级管理员审批功能实现
Rails提供一个叫做cancan的权限管理的插件,可以用来做权限控制,不过我们项目的权限管理不通过这个gem插件实现,通过控制用户角色字段来控制权限,这样灵活性比较大。1、功能描述(1)普通用户:可以发布帖子、删除自己发的帖子、发布评论、删除自己发的评论(2)管理员:注册后不能直接登录,需要超级管理员审批后才可以登录。可以发布帖子、删除普通用户的帖子,发布评论,删除普通用户的评论,置顶、加...原创 2019-01-23 19:44:44 · 958 阅读 · 0 评论 -
【Ruby on Rails全栈课程】3.7 邮件发送(SendCloud、MailGun)
1、邮件发送介绍首先需要发送平台作为中介来为我们发送邮件,我们介绍两个邮件发送平台,其中SendCloud我们用来做我们实际的项目。MailGun平台适合付费用户,我们了解一下即可。SendCloud(https://sendcloud.sohu.com/)SendCloud平台发送设置比较简单,不需要有自己的域名,可以不进行DNS配置,每天可以免费发送邮件10到50封MailGu...原创 2019-01-22 12:57:53 · 2271 阅读 · 0 评论 -
【Ruby on Rails全栈课程】3.6 登录功能--session、cookie
1、功能描述(1)登录需要填写信息:邮箱、密码。当邮箱没有注册需要进行相应的提示。(2)将数据库保存的密码解密后,与用户在页面输入的密码作对比,相同可登录。(3)用户角色为管理员时,需要判断这个账号的状态,状态为未激活时(status为1),需要flash.notice提醒激活。2、编辑controller、view、路由(1)在路由文件config/routes.rb中添加路由,通过此...原创 2019-01-21 15:24:23 · 1005 阅读 · 1 评论 -
【Ruby on Rails全栈课程】3.5 注册功能
注册页面成功显示之后,我们开始实现注册功能~~1、功能描述(1)注册时需要填写信息:用户名、邮箱、密码、确认密码、选择角色(2)用户角色分为普通用户、管理员、超级管理员,后期方便对用户进行权限管理(3)邮箱要求唯一,注册成功发送欢迎邮件到注册邮箱(之后章节讲解)(4)密码需要通过SSL进行加密之后,存入到数据库(5)用户名的长度规定小于等于5个字符、密码和确认密码需要一致2、编辑co...原创 2019-01-20 15:22:54 · 650 阅读 · 0 评论 -
【Ruby on Rails全栈课程】3.4 登录注册页面
1、在config/routes.rb文件中,添加登录和注册页面的路由#参考代码,无需粘贴#root 'home#index'get 'login' => 'accounts#login'get 'signup' => 'accounts#signup'代码解析:get 'login' => 'accounts#login'浏览器中输入http://localh...原创 2019-01-19 13:09:38 · 769 阅读 · 0 评论 -
【Ruby on Rails全栈课程】3.3 网站主页面以及相关设置
1、在config/routes.rb文件中,添加代码,指定网站首页的路径root 'home#index'每次打开网站,系统会通过root 'home#index’将请求分配到home_controller.rb中的index方法,如果和数据库有数据交互的话,在index方法中调用model模型来实现与数据库的交互,最后将得到的数据显示在app/views/home/index.html...原创 2019-01-13 12:37:24 · 944 阅读 · 1 评论 -
【Ruby on Rails全栈课程】3.2 配置数据库以及数据库操作知识
1、创建一个databasemysql我们已经在1.3节安装过了。连接远程,在项目目录下连接mysql,创建一个database数据库。如果你在1.3节启动项目时碰到了mysql错误并且解决了,那可以跳过1、2步,因为你已经配置好了。vagrant@vagrant-ubuntu-trusty-64:/vagrant/data_system$ mysql -u root -p#输入你在1.3节...原创 2019-01-08 16:29:37 · 1526 阅读 · 0 评论 -
【Ruby on Rails全栈课程】3.1 宠物之家论坛管理系统介绍
学完第二章之后,我们就要开始写项目啦。我们对ruby的了解仅仅还是数组、字符串这些零散的知识,现在通过项目来把这些知识串起来,学习这些知识在实际项目中的应用。本章学习建议:(1)一个完整的项目不仅仅有后端的ruby代码,还有前端的css、js、html代码。后端的ruby代码(.rb后缀文件里面的代码),最好手动跟着代码敲写,需要解释的地方我会写在注释或者代码解析中。自己手动敲你会收获满满...原创 2019-01-02 23:24:15 · 883 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.9 ruby的控制结构
1、条件判断语句(1)if 如果case1条件为true,则执行code1(执行完case1,条件判断语句结束,不会再去判断case2条件是否为true)。如果case1条件为false,接着判断case2条件,若为true,执行code2,若为false,则执行else子句中的code3。#需要注意的是elsif,不是elseifif case1 code1...elsif case...原创 2018-12-28 16:50:22 · 251 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.8 ruby的数据结构--哈希(Hash)
1、哈希(Hash)哈希也是存储对象的一个集合,哈希里面的元素是以"key" => “value”(键值对)这样的形式存在的,元素是没有顺序的,哈希的键可以是任意对象,键必须的唯一的,键通常用符号(Symbol)表示。哈希的创建有两种形式,两种形式都是一样的,最常使用第二种:irb(main):108:0> hash_1 = {:name => &原创 2018-12-27 12:23:38 · 618 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.7 块(Block)和迭代器
在讲数组和哈希之前,我们需要先补充一下块和迭代器的知识,数组和哈希的很多方法涉及到他们1、块(Block)块是ruby 的一个独特特性,是一种可以和方法调用相关联的代码块。是在花括号{}或者do…end之间的一组代码,一般我们在单行中block用花括号{},在多行中用do…end(1)块的格式对象.方法名(参数列表)|块变量| 块代码 end对象.方法名(参数列表){|块变量| ...原创 2018-12-25 16:25:33 · 309 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.6 ruby的数据结构--数组(Array)
数组是一个集合,但是不仅仅是数字的集合,可以是任何对象(String、 Integer、 Fixnum、 Hash、 Symbol 等对象)的集合。数组的索引是从0开始的有序整数,可以通过正数索引或者负数索引来寻找数组中的值,数组中的值是有顺序的。1、创建数组的方式(1)直接创建irb(main):018:0> arr = ["name",36,nil,23]=> ["name...原创 2018-12-23 23:41:54 · 412 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.5 正则表达式
1、正则表达式(Regexp)正则表达式是对字符串操作的公式,用来过滤字符串或者从字符串中匹配出我们需要的字符,在各类语言中都有应用2、基础操作字符介绍一下常用的几个字符,想要了解更多功能,可以看看百科中的介绍百度百科https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr...原创 2018-12-19 13:09:12 · 417 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.4 ruby的数据类型--符号(Symbol)、特殊值(True、False 和 Nil)
1、符号(Symbol)符号对象表示Ruby中的一些名称(类名、方法名、变量名等)和一些字符串。表现形式有:name或者:“string”,创建的对象会储存在ruby的符号表中,相同内容的符号不会再重新创建,在一些情况下,使用符号(Symbol) 处理名字可以降低 Ruby 内存消耗,提高执行速度。2、符号和字符串的区别(1)符号的优点是降低ruby的内存消耗,从而提高执行速度,符号的内容如...原创 2018-12-18 10:09:32 · 582 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.3 ruby的数据类型--字符串(String)、区间(Range)
1、字符串(String)字符串是String类的对象。分为单引号字符串和双引号字符串。双引号字符串能支持较多的转义字符以及支持字符串#{}q嵌入变量。实际开发中多用双引号字符串。(1)字符串嵌入变量用#{ },这个是ruby特有的,经常使用的一个功能。只支持双引号的字符串。irb(main):013:0> name = "Mary"=> "Mary"irb(main):01...原创 2018-12-17 23:39:46 · 494 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.2 ruby数据类型--数字(Numeric)
1、数字(Numeric)(1)数字形式包括整型和浮点型。整数型又分为Fixnum类、Bignum类。(2)Fixnum是-230到230-1或-262到262-1之间的整数。在这范围之外的整数是Bignum类。Bignum的数字可以是任意长度,长度限制于电脑的物理内存。#2**62代表2的62次方irb(main):001:0> a = 2**62=> 461168601...原创 2018-12-17 23:34:07 · 583 阅读 · 0 评论 -
【Ruby on Rails全栈课程】2.1 ruby语言入门
在第一章中,项目我们已经创建好并且能输出第一个helloworld了,我们先不急着做项目,先了解一下ruby,只是需要看得懂代码。这一章我们简单介绍一些ruby语言的语法。1、运行程序的平台,有三种方式运行ruby,第1种方法必须在项目文件夹下运行,第2、3种方法可以在任意文件夹下运行,前提是必须安装ruby(1)在控制台中运行ruby在写项目的时候,建议用这个方法,因为我们之后做项目,在控...原创 2018-12-08 12:09:37 · 469 阅读 · 0 评论 -
【Ruby on Rails全栈课程】1.4 第一个HelloWorld
1、文件功能文件名功能描述app/有Controllers(控制台)、Models(模型)和Views(视图)文件夹,接下来的内容主要都在这个目录。config/应用程式设定档、路由规则、数据库设定等等db/数据库的映射文件lib/放一些自定义的Module、ClassGemfilegem插件列表,可以指定插件的版本README项目的...原创 2018-12-07 12:59:12 · 682 阅读 · 2 评论 -
【Ruby on Rails全栈课程】1.3 Ruby On Rails运行环境安装 创建并启动项目
一. Ruby On Rails环境安装1、打开Ubuntu系统(Windows系统打开虚拟机登录到Ubuntu系统;IOS系统在终端打开rails-va文件夹cd rails-va,输入vagrant up,再输入vagrant ssh),更新源列表vagrant@vagrant-ubuntu-trusty-64:~$ sudo apt-get update2、安装依赖插件vagran...原创 2018-12-07 12:55:10 · 1448 阅读 · 1 评论 -
【Ruby on Rails全栈课程】1.2 Window安装Ubuntu系统—VMware
1、下载VMware(1)打开地址https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_player/7_0%7CPLAYER-714%7Cproduct_downloads,根据自己电脑位数下载相应的文件,64位电脑下载我红框圈出的文件。安装下载好的文件。2、下载ubuntu系统文件Ubun...原创 2018-12-05 15:53:35 · 322 阅读 · 0 评论 -
【Ruby on Rails全栈课程】1.1 Mac电脑安装Ubuntu系统--Vagrant
在ios系统以及Window系统上运行ruby on rails项目总是会遇到各种各样的问题,在开始学习之前,我们需要有一个稳定的Ubuntu系统。下面先教大家如何安装Ubuntu系统。##1、下载vagrant######(1)打开网址https://www.vagrantup.com/downloads.html,下载我截图的地方,得到文件vagrant_2.1.2_x86_64.dmg...原创 2018-12-05 15:38:29 · 569 阅读 · 1 评论 -
【Ruby on Rails全栈课程】课程目录
我还是编程小白的时候,开始接触Ruby,当时学习资料只有ruby实战圣经,虽然讲的已经很详细了,但是对于小白状态的我,很多地方还是很模糊,很多地方需要自己摸索,走了不少弯路。所以我下决心写一个实战课程,来帮助和我一样起跑线的同学攻克ruby语言。该课程完全按照我是小白时候的想要的课程写的,相信你根据我的步骤一步步来,一定会完成一个完整的项目的。Ruby和Python都是对程序员友好的语言,开发速...原创 2018-12-05 15:36:24 · 968 阅读 · 1 评论