创建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方法

results matching ""

    No results matching ""