2009-03-29 15 views
0

ユーザー作成ウィザードを設定しようとしていますが、ユーザーがウィザードの現在のステップに対応するページにしか移動できません。Railsの条件付きルート

私はすでにステートマシン機能を分類しています。現在の状態はDBに格納されます。これは問題ではありません

問題は、ユーザーを正しいページにリダイレクトする方法です。

私は最初にフィルタを前に試みましたが、リダイレクトループが発生しました。これに対する解決策は面倒だった。

私が試した次のことは、redirect_toを使用してリクエストをアクションに送信してから、適切なページにリダイレクトすることです。私は2回リダイレクトするので、DoubleRenderErrorが発生しました。私はredirect_toが新しいhttpリクエストだと思ったが、それはそうではないようだ。

この種の機能をルートに直接設定することができるのであれば、私は今や疑問に思っています。現在の状態を取得するには、DBにアクセスする必要があります。私はこれがどのように行われたのか、それが可能なのか分かりません。

アイデアはありますか?

は私は完全にあなたの質問を理解している場合わからないあなたに

答えて

2

ありがとうございます。

しかし、二重レンダリングエラーが発生した理由は、普通のredirect_toルビーコードが引き続き実行された後です。ある時点で、このコードはデータを再度レンダリングしようとしました(したがって、DoubleRenderError)。

あなたは使用することもできます。

redirect_to [...] and return false 

これが実行されることから、それ以降の任意のコードを防ぐことができますので、DoubleRenderErrorを防ぐことができます。

幸運を祈る!

0

は、私が経験したように、この問題は、あなたが探しまさにすることができ、このapproach:constraints =>定義で、私の解決策をmy blog, it's really simple !

0

私が推測するに、ここで見つけることができます(Railsの2.1のイム)、昨日と同じだと思います

関連する問題