用 Rails 的控制器重定向到其他 URL 时,使用redirect_to
方法。
关于重定向 (redirect_to 方法) 和渲染 (render 方法) 的区别,redirect_to
的使用方法进行说明。
环境确认
重定向的含义
HTTP 重定向是「服务器不能处理从浏览器访问的请求 (URL),但是告诉你可以访问的 URL,然后跳转到那里」的行为。
具体的说,重定向分为两种,返回「永久的 (状态码 301)」或「临时的 (状态码 307)」,浏览器会自动访问返回的重定向 URL。用户只从画面显示上几乎看不出是否重定向了。
什么时候用重定向 (redirect_to
),什么时候用渲染 (render
)?
基本上,
- 增加、更新、删除数据时,「重定向」
- 当数据被获取并显示时,「render」
让我们来看看具体的代码。
下述是在商品添加页面被按下「新增」按钮时的处理。
1: # POST /products
2: def create
3: @product = Prod...