0

こんにちは、複数ページのフォームを介してユーザーを作成するアプリがあります (最後のステップ以外はデータベースとのやり取りは許可されていません!)

したがって、最初のページでユーザーはメールを入力し、2 番目に住所、3 番目の会社情報 (またはそれ以外) の 4 ページ目にすべての情報が表示され、ユーザーは db に保存されます。

私の解決策は次のとおりです。ステップ 1: users_controller の新しいアクション。それはビューです

- if notice
  p[class='notice'] = notice
p Enter your personal data
= form_tag step2_path do 
  p
    = label_tag 'Email'
    = text_field_tag 'user[email]'
  p  
    = submit_tag 'Continue'

ユーザー#作成

def create
    session[:user] = {}
    redirect_to step2_path
  end

step2,3,4は同じアクションです。ルート.rb

  match 'step2' => 'user_signup#steps'
  match 'step3' => 'user_signup#steps'
  match 'step4' => 'user_signup#steps'

class UserSignupController < ApplicationController

  def steps
    @check = true
    path = request.env['PATH_INFO'][1..-1]
    update
    if path == 'step4' 
      @user = User.create(session[:user])
    end
    render "user_signup/#{path}"
  end
def update
    session[:user] = if session[:user].present?
      session[:user].merge(params[:user]) { |key, old, new| new } 
    else
      params[:user]
    end
  end

各ステップ (2,3,4) で params[:user][xxx] が作成されます...ヒントはありますか?

更新http://bassistance.de/jquery-plugins/jquery-plugin-validation/ を適用することにしました。 その後、プレゼンター パターンhttp://blog.jayfields.com/2007/03/rails-presenter-を使用します。 pattern.html

4

0 に答える 0