module/primarykey/edit. (assume questions/1/edit)
这很奇怪,因为主键通常会作为URI参数传递,如:
问题/编辑/ 1。无论如何,这可能无关紧要。重要的是我如何设法为上面的URI生成link_to。我通过不属于UI的外部页面链接editSuccess页面。我使用的语法是
link_to('Edit','questions/'.$primary_key.'/edit') // (where $primary_key = 1 as in this case)
然而,自动修改为:
/backend_dev.php/questions/1/action 记下操作而非编辑
不存在此类操作,并返回404错误,指出问题/操作不存在
总结一下,如何链接到专门为记录呈现的管理页面?
答案 0 :(得分:1)
url_for
(以及link_to
)助手处理内部网址,而不是外部网址。语法为module/action?parameters
。在您的情况下,这将是question/edit?id=$primarykey
(假设该操作查找id参数)。
如果您为路线命名,则可以更快地生成链接(散列表查找与线性搜索):
echo url_for("@question_edit?id=$primary_key");
如果您将路线设置为sfDoctrineRoute,它会变得更简单:
echo url_for("question_edit", $question);
注意你不需要传递id,但是问题对象 - 路由类将获取所有必要的参数。