2012-05-23 37 views
2

我试图做一个有下拉选择星期的部分视图,当按下提交按钮时,用新数据重新打开同一页面。下面是我有问题的代码:Ruby on Rails:form_tag不能正常工作

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

当单击该按钮,它给你带来正确的URL,但无法载入网页,称“没有收到任何数据,无法加载网页因为服务器没有发送数据。“

的事情是,当我运行代码

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

其中change_week只是重定向到索引,一切都很正常。有什么我失踪的索引?

+0

可以发布控制器代码吗? – edralph

回答

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