我想使用Revel视图添加和编辑项目。这些用例之间有太多重复,只有一种观点才有意义。
添加项目时,我的表单将发布到/item/add
。编辑项目时,发布目标将为item/edit
。我将这个URL作为视图参数传递。
我的问题是-考虑到我具有控制器功能:
Item.Add(postvar1, postvar2, ... etc.)
Item.Edit(postvar1, postvar2, ... etc.)
是否可以获取路由到这些控制器方法的URL?
我尝试致电routes.Item.Add("", "", ...)
,但这给了我/item/add?postvar1=&postvar2...
。我可以修剪/格式化此字符串,但是我想知道是否正在忽略现有的Revel功能来获取此基本URL(即/item/add
)?
在我的路线文件中,未指定任何参数。在控制器函数中,我正在使用从POST变量到函数参数的自动绑定。也许我不能吃蛋糕也不能吃-我总是可以删除自动绑定,这一切都可以。