学习视频

https://www.bilibili.com/video/BV1RJ411W7N3?t=49&p=7

一. 启动rails

  1. 启动

    cd circles/         #到circles的项目根目录里 以下项目名称为 circles
    rails s -p 3001 #如果不写端口,默认是3000
    rails s -b 0.0.0.0 #-b 开放ip,外网可访问

    启动后不要关闭命令行窗口,不然服务就挂了

  2. 访问页面

    localhost:3001

二. 创建控制器welcome 和 index页面

如果创始的数据模型是对应一张表,那么要使用复数的形式

例如给users表创建一个控制器

rails g controller users

  1. 新打开一个命令行,在命令行里输入rails g controller welcome index

    例子

    haima@haima-PC:/media/haima/34E401CC64DD0E28/site/go/src/ruby/circles$ rails g controller welcome index
    Running via Spring preloader in process 26338
    create app/controllers/welcome_controller.rb
    route get 'welcome/index'
    invoke erb
    create app/views/welcome
    create app/views/welcome/index.html.erb
    invoke test_unit
    create test/controllers/welcome_controller_test.rb
    invoke helper
    create app/helpers/welcome_helper.rb
    invoke test_unit
    invoke assets
    invoke scss
    create app/assets/stylesheets/welcome.scss

    自动创建了

    app/controllers/welcome_controller.rbapp/views/welcome/index.html.erb

    welcome_controller.rb

    class WelcomeController < ApplicationController
    def index
    end
    end

    index.html.erb

    <h1>Welcome#index</h1>
    <p>Find me in app/views/welcome/index.html.erb</p>
  2. 添加路由

    config/routes.rb

    Rails.application.routes.draw do
    get 'welcome/index' #添加路由
    resource :user
    get 'users/test1'
    # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
    end
  3. 浏览器访问

    http://127.0.0.1:3001/welcome/index

    返回下面的内容成功.

安装bootstrap

参考:

https://github.com/twbs/bootstrap-sass

https://github.com/rails/jquery-ujs

  1. 修改Gemfile

    Gemfile里添加

    gem 'bootstrap-sass', '~> 3.4.1'
    gem 'sassc-rails', '>= 2.1.0'
    gem 'jquery-rails'
  2. 命令行执行 bundle install

    下面可以看到已经安装成功

  3. 修改css

    a. app/assets/stylesheets/application.css 改为 app/assets/stylesheets/application.scss

    b. application.scss 加入下面的引用

    @import "bootstrap-sprockets";
    @import "bootstrap";
  4. 修改js

    app/assets/javascripts/application.js里添加

    //= require jquery
    //= require jquery_ujs
  5. 修改application.html.erb

    删除文件app/views/layouts/application.html.erb里的 'data-turbolinks-track': 'reload'

       <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>

    修改为

       <%= stylesheet_link_tag 'application', media: 'all' %>
    <%= javascript_pack_tag 'application' %>
  6. html里添加代码

    修改 app/views/welcome/index.html.erb 文件

    <h1>Welcome#index</h1>
    <p>Find me in app/views/welcome/index.html.erb</p> <div class="alert alert-success">
    Success
    </div>
  7. 访问页面

    http://127.0.0.1:3001/welcome/index

    效果:

    至此就ok了

04. rails入门学习 创建控制器的更多相关文章

  1. 记录21.08.04 — mybatis入门学习

    mybatis入门 mybatis简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工 ...

  2. 04 Python入门学习-流程控制(if else elif while for)

    一:流程控制if 语法一: if 条件: code1 code2 code3 ... age = 20 height = 170 weight = 60 sex = 'female' is_beaut ...

  3. 【原】iOS学习之控制器的创建

    本次博客是一篇总结性质的博客,总结的是各种创建控制器的方式以及一些需要注意的操作. 1.通过storyboard创建控制器 正如我上一篇博客中所说,当 Main Interface 没有选定的时候,我 ...

  4. Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据

    Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现 ...

  5. Asp.Net MVC5入门学习系列③

    原文:Asp.Net MVC5入门学习系列③ 添加一个视图(View) 接着上篇的入门系列,上面解说添加一个简单Controller(控制器),这里我们简单的在来添加一个View(视图)来展示我们Co ...

  6. Asp.Net MVC5入门学习系列②

    原文:Asp.Net MVC5入门学习系列② 添加一个Controller(控制器) 因为我们用的是Asp.Net MVC,MVC最终还是一套框架,所以我们还是需要遵循它才能玩下去,或者说是更好的利用 ...

  7. Asp.Net MVC5入门学习系列⑤

    原文:Asp.Net MVC5入门学习系列⑤ 检查VS生产的编辑方法和编辑窗体 前面我们一步使用强类型,然后创建Controller(控制器)的时候,VS默认已经给我们把CURD都简单的实现了.这篇的 ...

  8. Nginx 入门学习教程

    昨天听一个前同事说他们公司老大让他去研究下关于Nginx 方面的知识,我想了下Nginx 在如今的开发技术栈中应该会很大可能会用到,所以写篇博文记录总结下官网学习教程吧. 1. 什么是Nginx? 我 ...

  9. Three入门学习笔记整理

    一.官方网站:https://threejs.org 二.关于Three.js 三.开始 四.实例 基本结构 结果 五.概念 坐标系 场景 相机 灯光 3D模型 六.简单动画 七.交互控制 结束 # ...

  10. Nacos入门学习&实践

    文中涉及到了一些模块代码没有给出,我一并上传到github了,可以整个项目clone下来进行调试. 地址:https://github.com/stronglxp/springcloud-test 1 ...

随机推荐

  1. #组合计数,全排列#洛谷 2518 [HAOI2010]计数

    题目 你有一组非零数字(不一定唯一),你可以在其中插入任意个0,这样就可以产生无限个数. 比如说给定{1,2},那么可以生成数字12,21,102,120,201,210,1002,1020,等等. ...

  2. #树状数组,dp#洛谷 3506 [POI2010]MOT-Monotonicity 2

    题目 给出\(N\)个正整数\(a[1..N]\),再给出\(K\)个关系符号(>.<或=)\(s[1..k]\). 选出一个长度为\(L\)的子序列(不要求连续),要求这个子序列的第\( ...

  3. #线段树分治,背包#CF601E A Museum Robbery

    题目 有 \(n\) 个展品正在被展览,每一个展品都有一价值 \(v\) 个和一个混乱度 \(w\) ,现在有 \(m\) 次操作: 1 \(v\) \(w\) :加入一个新的展品,价值为\(v\), ...

  4. 基于新版宝塔Docker部署在线客服系统过程小记

    我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户.对我来说,只要能获得用户的认可,就是我最大的动力. 客服系统开发过程中,最让我意外的是对 TCP/IP 协议的认识.过去一直认 ...

  5. 面试官:Redis如何实现延迟任务?

    延迟任务(Delayed Task)是指在未来的某个时间点,执行相应的任务.也就是说,延迟任务是一种计划任务,它被安排在特定的时间后执行,而不是立即执行. 延迟任务的常见使用场景有以下几个: 定时发送 ...

  6. HTC vive开发:关于手柄按键对接控制

    一.关于左右手柄的对应关系 两个手柄和SteamVR_TrackedObject.EIndex是对应的,一个是EIndex.Device2,另一个是EIndex.Device3(有编号的那个) 在场景 ...

  7. docker 应用篇————tomcat例子[七]

    前言 虽然我干的事情和java不多,但是例子是为了熟悉原理,而不是为了例子而例子的,故而整理一下tomcat的例子. 正文 使用官方示例: 然后运行一下. 没有找到然后进行下载了. 可以看到这里就已经 ...

  8. Kotlin 使用协程编写高效的并发程序

    概念: 轻量级的线程 协程允许我们在单线程模式下模拟多线程编程的效果,代码执行时的挂起与恢复完 全是由编程语言来控制的,和操作系统无关.这种特性使得高并发程序的运行效率得到了极大的提升. 依赖库: d ...

  9. Vue3.0里为什么要用 Proxy API 替代 defineProperty API

    一.Object.defineProperty 定义:Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象 为什么能实现响应式 ...

  10. h5py这个坑-PyCharm Process finished with exit code -1073741819 (0xC0000005)

    在用pytorch和tensorflow做语音合成时,碰到了个很无解的bug, PyCharm 报错 Process finished with exit code -1073741819 (0xC0 ...