2

Rails 3.2 でマルチステップ フォームを作成しています。問題は、サインアップ プロセスで生成されたフィールドが表示されることですが、2 番目のステップでフィールドを更新できないことです。Ryan Bates のビデオを調べましたが、私のビデオは少し複雑です。基本的なデバイス フィールドは正常に機能しますが、移行によって追加したものは nil value と表示されます。モデルの attr_accessible にもこれらのフィールドを定義しました。以下は、2番目のステップでデータを保存するためのコントローラーコードです:-

class Users::AfterSignupController < ApplicationController
  include Wicked::Wizard

  steps :step_1

   def show
    @user = current_user
    render_wizard
  end

  def update
    @user = current_user
    render_wizard
  end

  private

  def redirect_to_finish_wizard
    redirect_to root_url, notice: "Thank you for signing up."
  end


end

コードが示すように、マルチステップの実装に Wicked gem を使用したことが示唆されているため、役立つ提案を楽しみにしています。しかし、誰かが通常のレールの方法でそれを行うように私を導くことができれば、私もそれを支持します. 前もって感謝します 。

4

1 に答える 1

0

更新ステップでユーザーを保存している場所がどこにもありません。ウィザードのドキュメントに記載されているように、オブジェクトを渡すと、render_wizardオブジェクトが保存された場合は次のウィザード ステップに移動し、失敗した場合は現在のステップに留まります。したがって、このようなものは保存を実行する必要があります

def update
  @user = current_user
  render_wizard @user
end
于 2014-06-26T20:52:05.147 に答える