创建Action中的response的三种方式:
#三种Action中创建response包括render, redirect_to, head
区别:
render: 会保留当下的变量值,传递到需要render的页面中
redirect_to: 重启发起一个请求,不会保留当下的变量值
head: 只是对http中的head发送一个response
render的使
#惯用方式
#按照默认的方式,下面的render 'edit',会默认传递到UsersController中的edit的action.
#如果要传递到其他Controller中的action,可以设置为 render 'books/new',传递到BooksController中的new动作中
class UsersController < ApplicationController
def create
if @user.save
redirect_to user_path(@user)
else
render 'edit'
end
end
end
#可选值
#可选值包括:content_type, layout, location, status, formats
#只介绍layout的用法,其他用法不常见
class UsersController < ApplicationController
def create
if @user.save
redirect_to user_path(@user)
else
#这里指定布局为空,也可以自己创建布局
render 'edit', layout: false
end
end
end
使用helper方法