2

我正在尝试制作一个部分视图,该视图具有一个下拉菜单来选择星期,当按下提交按钮时,使用新数据重新打开同一页面。这是我遇到问题的代码:

= form_tag(:controller => "/payroll_issues", :action=> "index") do

单击按钮时,它会将您带到正确的 url,但页面未加载,并显示“未收到数据,无法加载网页,因为服务器未发送数据。”

问题是,当我运行代码时

= form_tag(:controller => "/payroll_issues", :action=> "change_week") do

change_week 只是重定向到索引,一切都很好。索引有什么我遗漏的吗?

4

1 回答 1

1

表单标签助手创建一个带有 的表单标签method = 'post',您的索引操作的路由可能设置为仅接受'get'请求。

要检查,您可以运行rake routes

如果你真的想要,你可以添加一个路由来接受你的 index 操作的 post 请求,如下所示:

# routes.rb
match '/' => 'payroll_issues#index', :as => :index, :via => :post

但是,使用问题中的第二种技术会更好,创建一个单独的操作并重定向。

def change_week
  #do change week stuff
  redirect_to payroll_issues_url
end
于 2012-05-23T15:41:46.920 回答