我有控制器my_controller
,其中包含操作my_action
。在my_action
视图中,我创建了一个表单并手动设置:<%=form_tag('/photos/create') do%>
。当我将此表单发送到photos
控制器中的此操作时,我将收到错误
No route matches [POST] "/photos/create"
(显然行动create
存在于photos
控制器中
我的问题是,为什么我收到此错误,当此操作存在时,我该如何修复它(在手动设置地址的正确方法是什么)?
答案 0 :(得分:2)
因为您的路线不正确。照片的create
操作应该是/photos
路线而不是POST
。您可以通过在命令行运行rake routes
来验证这一点,以获取所有路由的列表以及它们如何映射到控制器操作。
请改为尝试:
<%=form_tag(photos_path, :method => :post) do%>