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 ...
随机推荐
- postfix配置spf认证和dkim认证
1.为邮箱域名添加spf认证: 登录域名解析控制台添加txt记录: v=spf1 include:spf1.domain.com ~all spf1.domain.com A记录解析到你的固定IP ...
- piwik优化之定时任务生成统计数据
piwik的ui界面,使用起来是无比的慢,让苏南大叔不得不对比wordpress的使用体验.当然了,如果你的服务器足够强大,这些都是小事儿.官方对此给出了一系列的优化建议,大家可以读一下:https: ...
- Git的一些东西(后续补充)
查看帮助,要装git-doc,另外推荐git的图形客户端gitg,比gitk好看多了,用apt-get install就可 HEAD是当前工作版本的指针 --global保存的是当前用户的配置 ...
- 手机与PC的影音相互播放(DLNA/UPNP)
DLNA:全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟), 旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无 ...
- PREV-2_蓝桥杯_打印十字图
问题描述 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示: ..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$...... ...
- Boost:shared_memory_object --- 共享内存
什么是共享内存 共享内存是最快速的进程间通信机制.操作系统在几个进程的地址空间上映射一段内存,然后这几个进程可以在不需要调用操作系统函数的情况下在那段内存上进行读/写操作.但是,在进程读写共享内存时, ...
- 面试总结之人工智能AI(Artificial Intelligence)/ 机器学习(Machine Learning)
刚面完 AI 岗,这几点分享给你!- AI科技大本营 https://mp.weixin.qq.com/s/05G5HKSkZwhwnmskijToLQ 1.训练决策树时的参数是什么? 2.在决策树的 ...
- ntp服务问题
原本国内的主机直接指向阿里云就可以时间同步了 但是国外的主机 却有报错 这个报错还没有解决 1 Oct 03:47:30 ntpdate[20969]: no server suitable fo ...
- MySQL 开启和查看bin-log日志
1.5.7版本前修改my.cnf文件,添加log-bin=my-bin(my.cnf的位置根据自己安装的路径查看)# vi /usr/local/mysql/my.cnflog-bin=my-bin ...
- win10间歇性的找不到usb设备
自从安装了win10,感觉掉了一个好大的坑. 比如win10经常找不到usb 设备,有时候过5-6分钟又有了.除了驱动的问题之外,有时候重启一下就好了. 今天又有一个小发现,笔记本为了省电,会把usb ...