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 アクションで投稿リクエストを受け入れるルートを追加できます。

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

ただし、質問の2番目の手法を使用して、別のアクションを作成してリダイレクトする方がはるかに優れています。

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