我正在尝试创建一个局部 View ,其中包含用于选择周的下拉菜单,当按下提交按钮时,使用新数据重新打开同一页面。这是我遇到问题的代码:
= form_tag(:controller => "/payroll_issues", :action=> "index") do
单击该按钮后,它会将您带到正确的 url,但页面不会加载,显示“未收到数据,无法加载网页,因为服务器未发送数据。”
问题是,当我运行代码时
= form_tag(:controller => "/payroll_issues", :action=> "change_week") do
change_week 只是重定向到索引,一切正常。索引中是否缺少某些内容?
最佳答案
表单标签助手使用 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
关于ruby-on-rails - ruby rails : form_tag not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10722566/