0

Mac OSX 10.6でRails Appを作成しています(これはRails 3.1と3.0でこれを行う方法を知りたいです)。別のビュー/コントローラから新しいセッションやユーザを作成する

私はPagesControllerを使用して静的ページを処理していますが、ホームページにサインアップフォームを、そしてPagesController(home、about、contact)から生成された各ページ上の永続的な静的トップバーにログインオプション、ヘルプなど)。

フォームが特定のコントローラ - >ビュー外にあるときにフォームを動作させるのに少し問題があります。たとえば、SessionsControllerとビュー(new.html.erb)があり、送信時にログイン用の新しいセッションが作成されるフォームがあります。しかし、私はこの同じフォーム/機能をSessionsControllerの外、そしてPagesControllerに属するビュー(すなわちhome.html.erbまたはabout.html.erb)に実装しようとしています。サインアップ機能を使って同じことをしたいと思います。私はhome.html.erbにサインアップフォームを用意して、UsersControllerの "新しい"ページに人を送る必要はありません。フォームが送信されたときの簡単なリダイレクトアクションのようですが、これを理解するのに問題があります。誰かが私を正しい方向に向けることができますか?

ありがとうございました!

答えて

0

1つのオプションは、サインアップフォーム(.erb)ファイルを部分的に持つことで、ユーザーとページコントローラの両方に含めることができます。

あなたの登録フォームはどのコントローラにも移植可能です。保存した後にフォームがポストされると、ユーザーがリクエストの発信元にリダイレクトされます。

+0

私はどのタイプのリダイレクトコマンドを発行しますか?たとえば、誰かがPagesControllerからホームページにサインアップした場合、どのようにしてPagesControllerの "home"アクションがフォームからの情報をUsersControllerの適切なアクションに渡して新しいユーザーを作成するのですか? – kcurtin

+0

登録は常にユーザーコントローラに直接行わなければなりません。その後、リダイレクトを処理することができます。 – thomasfedb

+0

私はそれをどのように設定すれば、登録が別々のビューでPagesControllerによって処理されているときにユーザーを作成するUsersControllerに直接行くのですか? – kcurtin

関連する問題