Ruby学习笔记3:Rendering(渲染)和 Redirect(重定向)
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(重定向)的更多相关文章
- Ruby学习笔记4: 动态web app的建立
Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, ...
- ruby学习笔记(1)-puts,p,print的区别
ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将 ...
- ruby 学习笔记 1
写ruby blog 系统的记录下.也是对我学ruby的点滴记录. 先介绍下我的学习环境.系统:ubuntu12.04文档:techotopia ,ruby文档,the hard way learn ...
- angular2 学习笔记 ( server-side rendering, angular universal, 服务端渲染 )
更新 : 2018-01-10 大半年过去了依然没有做 server side render 的冲动,但是一直有关注这方便的做法. 今天领悟了一些道理, 这里做个记入. server side re ...
- ruby学习笔记(2)-chomp,chop的区别
还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在h ...
- vue学习笔记(五)条件渲染和列表渲染
前言 在众多的编程语言中,我们的基础语法总是少不了一些专业语法,比如像定义变量,条件语句,for循环,数组,函数等等,vue.js这个优秀的前端框架中也有同样的语法,我们换一个名词,将条件语句改成专业 ...
- Ruby学习笔记0708
#!/usr/bin/env ruby class MegaGreeter attr_accessor :names # 初始化這個物件 def initialize(names = "Wo ...
- ruby 学习笔记 2 -变量
变量 在ruby的世界里,变量有5种,全局变量 局部变量 实例变量 常量 类变量以及伪变量 常用的: 全局: 在全局使用,使用$开头,因为是全局的,所以在任何的代码例子中都可以改变其值,造成混乱,所以 ...
- Ruby学习笔记
#!/usr/bin/ruby puts "Hello, Ruby, what is your name?" $name = STDIN.gets puts "Hi, I ...
随机推荐
- java cp命令
java -cp .;c:\dir1\lib.jar Test -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,windo ...
- 黄聪:php精度计算问题
如果用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,比如echo intval( 0.58*100 );会打印57,而不是58,这个其实是计算机底层二进制无法精确表示浮点数的一个 ...
- 两种方式:mysql查看正在执行的sql语句
mysql查看正在执行的sql语句 2015年08月21日 17:32:59 阅读数:15398 有2个方法: 1.使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应 ...
- 51nod1302 矩形面积交
有2N个矩形,这些矩形被标号为0 ~ 2N-1,对于第i个矩形其长宽分别为X[i]与Y[i].现在要把这2N个矩形分为两组,每组N个,每个矩形恰好分到两组中的一组里.分成两组后,设两组分别为A组.B组 ...
- mysql配置文件修改
mysql配置文件修改 mkdir –p /data/mysql chown -R mysql.mysql /data/mysql/ vim /etc/my.cnf [mysqld ...
- ServiceLoader
先从业务场景分析,要完成数据的分析处理功能.根据数据的不同种类,先调用groovy或者python脚本等中的一种处理数据,处理完数据的后需要流程相同. 要支持处理能力的动态扩展,也就是框架完成后,可以 ...
- 类实例化对象可以访问静态(static)方法,但是不能访问静态属性。
类-> 访问->静态方法(类的方法)->可以 类 ->访问->普通方法(对象的方法)->不可以(虽然方法里不用$this关键字时,可以!但不支持这种写法) 类-&g ...
- text clf rnn
#!/usr/bin/env python # coding=utf- import numpy as np import pandas as pd import re from bs4 import ...
- volley 之GsonRequest
这是之前写的http://www.cnblogs.com/freexiaoyu/p/3955137.html 关于GsonReques的用户,这个在POST请求传参数的时候GsonRequest构造第 ...
- Jmeter(一)简介以及环境搭建
刚刚在打扫卫生的时候,就一直在思考近一年以来所学知识及体系.知识太过于碎片化,整理的东西全写在笔记本上,日常工作不可能全部用到,所以复习很重要.因此开始准备将一些知识写在随笔里边,用于知识体系的重建, ...