0

マルチステップフォームのレールキャストを見たところ、新しいインスタンスを作成するときにうまく機能するマルチステップフォームができましたが、更新と編集は機能しません。マルチステップは実行されますが、最後のステップで続行をクリックしても実行されません更新すると、セッションが失われるようです...

これがコントローラーです...

session[:location_params].deep_merge!(params[:location]) if params[:location]

deep_merge を実行できないというエラーが発生します...

  def edit
    @location = Location.find(params[:id])
    session[:location_params] = @location
    @location.current_step = session[:location_step] = @location.steps.first
  end

  def update
    @location = Location.find(params[:id])
    @location.current_step = session[:location_step]
    if params[:back_button]
      @location.previous_step
    elsif @location.last_step?
      @location.save if @location.all_valid? and @location.changed?
    else
      @location.next_step
    end
    session[:location_step] = @location.current_step
    if @location.created_at_changed?
      flash[:success] = "Location updated!"
      session[:location_step] = session[:location_params] = nil
      redirect_to @location
    else
      render 'edit'
    end
  end

どうぞよろしくお願いいたします。

4

1 に答える 1

1

私はFormToWizardjqueryライブラリを使用することになりました。ここからダウンロードできます

そのすっきりしていて、ビューを非常にきれいに操作でき、簡単に保守でき、コントローラーの何も変更されません!

于 2012-10-03T22:32:47.297 に答える