1. Rendering

Rendering 是特别要告诉Controller 中的methods,要哪个view file来显示给用户。We can show Views as we wish!

Earlier each one of our Views rendered based on the method specified in the Controller.

If we write the following method:

def render_demo
end

Rails will always look for the render_demo View. But if we write:

def render_demo
render :home
end

We can tell Rails to render the home View, as long as we have one. Rendering just tells Rails to show the View we specify.

这里这个例子是这样的:

1. 在pages_controller.rb文件中,加入一个method: render_demo

class PagesController < ApplicationController
def home
end
def erb_demo
end
def render_demo
render :home #return home page. but return render_demo.html.erb if without this line
end
 end

2. 在routes.rb文件中,加入一个route:pages/render_demo

Rails.application.routes.draw do
get 'pages/home'
root 'pages#home'
get 'pages/erb_demo'
get 'pages/render_demo'
end

3. 在render_demo.html.erb文件中:

  <%= "This is the render demo template." %>

4. 最后在浏览器中请求: localhost:8000/pages/render_demo    ,可以得到homepage. 或得到"This is the render
demo template"

---------------------

2. redirect

另一个控制view内容的方法是redirect, 它跟rendering有点类似,不过它是重新发送一次request到一个different URL. redirect显示了一个不同的view,Redirecting 产生了一个全新的request.



下面就是我们怎么在rails中使用redirect:

1. 在pages_controller.rb文件中,加入一个method:

def redirect_demo

   redirect_to(:action => 'home')

end



2. 在routes.rb 文件中,加入一个route: pages/redirect_demo



3. 在 redirect_demo.html.erb 文件中,代码如下:

<%= "This is your redirect demo template" %>

----------------------

到这里我们就掌握了利用Rails建立一个基本的Static Web App --- 静态web应用

接下来我们要接触动态应用。加油!

Ruby学习笔记3:Rendering(渲染)和 Redirect(重定向)的更多相关文章

  1. Ruby学习笔记4: 动态web app的建立

    Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, ...

  2. ruby学习笔记(1)-puts,p,print的区别

    ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将 ...

  3. ruby 学习笔记 1

    写ruby blog  系统的记录下.也是对我学ruby的点滴记录. 先介绍下我的学习环境.系统:ubuntu12.04文档:techotopia ,ruby文档,the hard way learn ...

  4. angular2 学习笔记 ( server-side rendering, angular universal, 服务端渲染 )

    更新 : 2018-01-10  大半年过去了依然没有做 server side render 的冲动,但是一直有关注这方便的做法. 今天领悟了一些道理, 这里做个记入. server side re ...

  5. ruby学习笔记(2)-chomp,chop的区别

    还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在h ...

  6. vue学习笔记(五)条件渲染和列表渲染

    前言 在众多的编程语言中,我们的基础语法总是少不了一些专业语法,比如像定义变量,条件语句,for循环,数组,函数等等,vue.js这个优秀的前端框架中也有同样的语法,我们换一个名词,将条件语句改成专业 ...

  7. Ruby学习笔记0708

    #!/usr/bin/env ruby class MegaGreeter attr_accessor :names # 初始化這個物件 def initialize(names = "Wo ...

  8. ruby 学习笔记 2 -变量

    变量 在ruby的世界里,变量有5种,全局变量 局部变量 实例变量 常量 类变量以及伪变量 常用的: 全局: 在全局使用,使用$开头,因为是全局的,所以在任何的代码例子中都可以改变其值,造成混乱,所以 ...

  9. Ruby学习笔记

    #!/usr/bin/ruby puts "Hello, Ruby, what is your name?" $name = STDIN.gets puts "Hi, I ...

随机推荐

  1. MySQL5.7 GTID 浅析

    https://yq.aliyun.com/articles/68441 摘要: # GTID 简介 GTID (global transaction identifier)在MySQL5.6时引入, ...

  2. Java第01次实验提纲(基本概念+编程环境入门+PTA)

    0. 控制台下编译.运行 在Notepad++编写Java程序 学会使用控制台,javac.java 学会使用Notepad++ 参考资料: 控制台-cmd应用基础 扫盲教程 使用命令行编译并运行ja ...

  3. ubuntu14 16使用libusb过程中遇到的问题及解决方法

    从ubuntu16换到ubuntu14后安装libusb运行一直在libusb_bulk_transfer语句出现运行出现段错误,分别换了libusb1.0.0,1.0.9及1.0.21. 通过查阅链 ...

  4. 关于Java与Map的那点事

    Java将Map拼接成“参数=值&参数=值”: 把一个map的键值对拼接成“参数=值&参数=值”即“username=angusbao&password=123456”这种形式 ...

  5. Firefox不支持event解决方法

    IE 中可以直接使用event 对象,而FF 中则不可以,解决方法之一如下: var theEvent = window.event || arguments.callee.caller.argume ...

  6. TCP/IP学习20180627-数据链路层-ethernet

    ifconfig :查看主機支持的網絡協議eth0:以太網接口lo:loopback接口 以太网(Ether-net)的定是指数字设备公司( Digital Equipment Corp.).英特尔公 ...

  7. windows编程之窗口抖动

    仅仅让黑窗口抖动以供小白娱乐 #include<stdio.h> #include<windows.h> int main() { RECT rect;//RECT定义了一个矩 ...

  8. react-router 4.x

    本次主要总结react中的路由的使用,实现让根组件根据用户访问的地址动态挂载不同的组件. 1,创建项目 首先使用命令 npx create-react-app react-router创建项目,然后n ...

  9. Flume 安装和配置

    安装步骤 1.安装jdk,1.6版本以上 2.上传flume的安装包 3.解压安装 4.在conf目录下,创建一个配置文件,比如:template.conf(名字可以不固定,后缀也可以不固定) 5.配 ...

  10. IDC:IDC(互联网数据中心)

    ylbtech-IDC:IDC(互联网数据中心) IDC为互联网内容提供商(ICP).企业.媒体和各类网站提供大规模.高质量.安全可靠的专业化服务器托管.空间租用.网络批发带宽以及ASP.EC等业务. ...