Rails中render和redirect_to页面显示的用法

今天写代码的时候遇到页面跳转的问题,所以查了render和redirect_to的异同及用法,render和redirect_to都是执行页面跳转,并且写在这两个方法后面的语句仍然会被执行。

1.render:简单的页面渲染,可以指定渲染的页面或布局文件,但是不会发出请求,只根据函数参数渲染页面,不会执行action函数,不会重新加载服务器中的数据。render的用法如下:

(1)直接渲染出文本:

render(:text => string)

(2)直接调用某个action的模板,action_name方法在当前controller里:

render(:action => action_name)

(3)调用某个action的模板,action_name方法不在当前controller里:

render :action => action_name,:controller=>'.......'

(4)使用某个模板文件render,当use_full_path参数为true时可以传入相对路径

render(:file => path, [:use_full_path => true|false])

(5)默认的的render,相当于render(:action=>self)

render()

2.redirect_to:发送请求重定向页面,可以指定controller和action,会执行对应的action方法的跳转,重新加载服务器数据,不保留页面中原有的数据。redirect_to的用法如下:

redirect_to :action => 'edit', :id => 7
redirect_to "http://dachuan212.iteye.com/"
redirect_to "/images/1.jpg" 
redirect_to :back

上述第4行是回到上一次访问的页面

相关推荐