2016-06-14 9 views
0

基本的にredirect_toメソッドを使ってPUTコントローラアクションにリダイレクトしたいのですが、GET動詞を使用したいだけです。 redirect_toにHTTP動詞を指定する方法はありますか?Rails 4.2の `PUT`動詞を使ってredirectすることができます

経路が

resume_user PUT /users/:id/resume(.:format) users#resume 

レーキルートのように定義されており、私はすべて同じ結果と以下No route matches [GET] "https://stackoverflow.com/users/5/resume"

  • redirect_toのresume_user_url(@user)
  • のredirect_toを使用していますアクション: 'resume'、コントローラ: 'users'、id:@ user.id
  • redirect_to action: 'resume'、コントローラ: 'ユーザー'、メソッド: 'put'、id:@ user.id

私は間違って使用している可能性があります。 おかげ パトリック

答えて

1

standardはこれを許可していません。リダイレクトをステータス307とすると、リダイレクトに続いてブラウザが要求メソッドを変更することを禁じますが、特定のメソッドを要求するメカニズムはありません。

+0

それは意味があります、ありがとうございます。私はHTTP仕様を見るのを忘れていました.Railsの問題だと思っていました。フローを再評価する時間。 – Patrick

-1

は、私がリンク上method: :postを使用してみましたが、私はredirect_toでそれを試していない

redirect_to resume_user_url(@user), method: :put 

を試してみてください。

+0

提案してくれてありがとうございましたが、それは私が運を試したもう1つのものでした。あなたは 'link_to'メソッドでうまくいくのは間違いですが、それは少し違います。 – Patrick

関連する問題