为表单设置地址的正确方法是什么?

时间:2012-01-26 17:34:26

标签: ruby-on-rails forms ruby-on-rails-3.1 routing

我有控制器my_controller,其中包含操作my_action。在my_action视图中,我创建了一个表单并手动设置:<%=form_tag('/photos/create') do%>。当我将此表单发送到photos控制器中的此操作时,我将收到错误

No route matches [POST] "/photos/create"

(显然行动create存在于photos控制器中 我的问题是,为什么我收到此错误,当此操作存在时,我该如何修复它(在手动设置地址的正确方法是什么)?

1 个答案:

答案 0 :(得分:2)

因为您的路线不正确。照片的create操作应该是/photos路线而不是POST。您可以通过在命令行运行rake routes来验证这一点,以获取所有路由的列表以及它们如何映射到控制器操作。

请改为尝试:

<%=form_tag(photos_path, :method => :post) do%>

有关详细信息:http://guides.rubyonrails.org/routing.html