如何在Masonite框架的控制器方法内重定向到指定路由?
在Masonite中实现更新后重定向到Unit详情页
方式一:通过命名路由重定向(推荐)
先确认你的路由在routes/web.py中已设置名称:
Route.get('/units/@id', 'UnitController@show').name('unit.show')
然后在UnitController的update方法里,利用命名路由和参数完成重定向:
from masonite.request import Request from masonite.controllers import Controller class UnitController(Controller): def update(self, request: Request): # 处理更新逻辑,获取更新后的unit实例 unit = # 你的Unit模型对象 # 重定向到指定命名路由,传入id参数 return request.redirect().route('unit.show', {'id': unit.id})
方式二:直接拼接URL重定向
和你在Laravel里的写法逻辑一致,直接构造URL进行重定向:
def update(self, request: Request): unit = # 你的Unit模型对象 return request.redirect(f'/units/{unit.id}')
方式三:通过控制器动作重定向
也可以直接指定目标控制器和方法,自动生成对应URL:
def update(self, request: Request): unit = # 你的Unit模型对象 return request.redirect().to('UnitController@show', {'id': unit.id})
内容的提问来源于stack exchange,提问作者varun kumar dogra
相关产品推荐
相关产品推荐

