我正在尝试创建一个部分视图,其中有一个下拉列表来选择周,当按下提交按钮时,重新打开包含新数据的同一页面。这是我遇到问题的代码:
= form_tag(:controller => "/payroll_issues", :action=> "index") do
单击该按钮时,它会显示正确的URL,但页面未加载,说“未收到数据,无法加载网页,因为服务器未发送任何数据”。
问题是,当我以
运行代码时= form_tag(:controller => "/payroll_issues", :action=> "change_week") do
其中change_week只是重定向到索引,一切都很好。索引中是否有我遗漏的东西?
答案 0 :(得分:1)
表单标记助手使用method = 'post'
创建表单标记,索引操作的路由可能设置为仅接受'get'
请求。
要检查,您可以运行rake routes
如果您真的想要,可以添加一条路线来接受带有索引操作的帖子请求,如下所示:
# routes.rb
match '/' => 'payroll_issues#index', :as => :index, :via => :post
但是,你在问题中使用第二种技术会更好,创建一个单独的动作并重定向。
def change_week
#do change week stuff
redirect_to payroll_issues_url
end