分块设计有助于管理复杂的应用程序,因为可以在一段时间内只用关注一个方面;例如,可以在不依赖业务逻辑的情况下专注于视图设计;同时也让应用程序的测试更加容易;MVC 分层同时也简化了分组开发;不同的开发人员可同时开发视图、控制器逻辑和业务逻辑...通常视图是依据模型数据创建的 Controller(控制器)是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据 image.png ---- 创建一个简单页面 Rails
RVM RVM (Ruby Version Manager) 是一个 CLI 工具,可以用来对 ruby 的多个版本进行安装,隔离和管理 RVM is a command-line tool which
系统里多出来一个镜像,是rails的最新版 [root@h104 ~]# docker images | grep rails rails...,我们的核心代码也因此而精简 反观,Rails的框架依赖有多么臃肿,整个一大胖子,应该也是反映慢的原因之一吧 不过话说回来,正因为这些基础,这个应用可以自立根生,除了系统内核和Docker提供的隔离环境...,它的运行不再看其它环境或基础设施的脸色,可以独立运行了 Tip: 同时,它依赖的那么多层基础镜像是可以和其它容器共享的,并非每次都是成倍的磁盘空间需求,大量相似容器的环境中,一定程度上还节约了磁盘空间...", "RepoTags": [ "rails:latest" ], "RepoDigests": [], "Parent": "fc2eabed675c24b767c4d78dfad2c8a525f778e06a81278a169e262e4ccc9eff...--version \"$RAILS_VERSION\"" ], "Image": "5da847340e289b1357164d7a9f62ac6e67a557c63c4cb2c8823b4cb341776e15
添加删除模型 rails 命令可以方便的添加删除模型 [root@h202 blog]# rails --help Usage: rails COMMAND [ARGS] The most common...rails commands are: generate Generate new code (short-cut alias: "g") console Start the Rails...console (short-cut alias: "c") server Start the Rails server (short-cut alias: "s") dbconsole..."rails new my_app" creates a new application called MyApp in "....[root@h202 blog]# rails generate model Comment commenter:string body:text Running via Spring preloader
%> 2> prohibited...this article from being saved:2> <% @article.errors.full_messages.each do |msg
定义 update 方法,并且添加 edit 链接和 show 链接 [root@h202 blog]# vim app/controllers/articles_controller.rb [root
点击 【Destroy】 后会根据我们的定义弹出提示 连续删除几次后所剩无几 目前已经通过 Rails 实现了文章的 新建、显示、列出、更新、删除 操作 ---- 命令汇总 rails server...-b 0.0.0.0 rails generate controller welcome index cat app/views/welcome/index.html.erb vim config/routes.rb...grep -v " #" config/routes.rb | grep -v "^$" rake routes bin/rails g controller articles cat app/controllers...cat app/views/articles/new.html.erb bin/rake routes cat app/controllers/articles_controller.rb bin/rails
:article]) @article.save redirect_to @article end end [root@h202 blog]# 再提交一次 我们要明确地告知 Rails
创建一个控制器和视图 要在 Rails 中显示“My first test” 的静态页面,需要新建一个控制器和视图 控制器用来接受向程序发起的请求 视图的作用是,以人类能看懂的格式显示数据 [root@...h202 blog]# rails generate controller welcome index Running via Spring preloader in process 11871...root@h202 blog]# vim config/routes.rb [root@h202 blog]# grep -v " #" config/routes.rb | grep -v "^$" Rails.application.routes.draw...root 'welcome#index' end [root@h202 blog]# ---- 进行访问 直接刷新页面 注意,我修改了配置和服务,但并没有对服务进行重启,而可以直接加载出新的内容,说明 Rails...可以进行动态加载 In development mode, Rails does not generally require you to restart the server; changes you
cat app/views/articles/new.html.erb Test blog http://soft.dog/ [root@h202 blog]# 要注意命名,因为 Rails
(这里的 /articles 明明对应两个方法,GET、POST ,有点不太明白,为什么这样指定就一定成了POST请求)
再次提交一回 ---- 创建模型 Rails 提供了一个生成器用来创建模型 [root@h202 blog]# bin/rails generate model Article title:string
再次加载 可以成功显示了 ---- 列出所有文章 [root@h202 blog]# vim app/controllers/articles_control...
前言 Rails 是使用 Ruby 语言编写的网页程序开发框架 通过集成开发者需要的常用组件,极大地简化了网页程序的开发 Tip: 类似于 python 的 Django ,perl 的 Dancer...继前面的 Ruby on Rails 基础 ,这里再进一步探究一下其内部运作机制 Rails 的相关基础,详细可以参考 官方文档 和 Ruby China 的 Rails 入门 Tip: 当前的最新版本为...Rails 5.0.0.beta3 发布于 February 27, 2016 4:00 pm ---- 概要 ---- 环境 [root@h202 blog]# cat /etc/issue CentOS...--version Rails 4.2.6 [root@h202 blog]# node -v v0.10.42 [root@h202 blog]# rvm -v rvm 1.27.0 (latest...:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2016-04-22 13:47
不过,通过查看源码,我们可以看到 action 部分指向的是当前页面 action="/articles/new" , 而这个页面 (Restfull API)...
root@h202 blog]# vim config/routes.rb [root@h202 blog]# grep -v ' #' config/routes.rb | grep -v "^$" Rails.application.routes.draw...的对应关系 我们尝试访问其中的一个链接,/articles/new 得到如下反馈 报错的原因为没有 ArticlesController ---- 创建控制器 [root@h202 blog]# bin/rails
article】 成功跳转到了添加页面,随便输入点什么,提交 自动跳转到了显示页面,点击【Back】 跳转回了所有列表页面 Tip: 之所以每做一次修改都能直接生效,是因为在开发模式下(默认),每次请求 Rails...%> 2> prohibited...this article from being saved:2> <% @article.errors.full_messages.each do |msg
渲染的内容可以是 文本 、JSON 或者 XML,而且可以设置响应的内容类型和HTTP状态码。.../app/views/books/edit" render "/path/to/rails/app/views/books/edit.html.erb" render file: "/path/to/rails...如果没有 .erb 布局,Rails会使用 .builder 布局。...redirect_to photos_path, status: 301 使用head方法 head 方法只把首部发送给浏览器,参数是HTTP状态码数字,或者符号形式,选项是一个散列,指定首部的名称和对应的值...使用局部视图 这会渲染名为 _menu.html.erb 的文件,局部视图的文件名都是以下划线开头的,以便和普通视图区分开,引用时无需加入下划线。
删除文章 在 controllers 中定义 destory 方法 然后在 index 视图中加入 Destroy 链接 [root@h202 blog]# v...
作为Rails的Web服务器,Passenger易于安装,配置和维护,可与Nginx或Apache一起使用。在本教程中,我们将在Ubuntu上安装带有Nginx的Passenger。...build-essential libssl-dev libyaml-dev libreadline-dev openssl curl git-core zlib1g-dev bison libxml2-...我们可以使用以下命令检查它,该命令应该打印Ruby版本: ruby -v 最后,我们可以删除临时文件夹: rm -rf ~/ruby 第四步 - 安装Passenger和Nginx 过去安装Passenger...首先,安装PGP密钥: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7 创建一个APT源文件...更改此文件的所有者和权限: sudo chown root: /etc/apt/sources.list.d/passenger.list sudo chmod 600 /etc/apt/sources.list.d