带有邪恶宝石的导轨。数据不会更新

时间:2014-04-18 04:45:54

标签: ruby-on-rails ruby data-persistence wicked-gem

我正在使用Wicked gem以多个步骤创建一个对象。一切似乎工作正常,直到我意识到数据没有保存。我注意到,只要表单构建器中存在url: wizard_path,它就不会保存。当那不存在时,无论我在哪一步,数据都会保存得很好。这是我的对象构建器的控制器:

class Bids::BuildController < ApplicationController
  include Wicked::Wizard

  steps :intro, :problems, :solutions, :pricing

  def show
    @bid = Bid.find(params[:bid_id])
    render_wizard
  end

  def create
    @bid = Bid.new(bid_params)
    redirect_to wizard_path(steps.first, :bid_id => @bid.id)
  end

  def update
    @bid = Bid.find(params[:bid_id])
    params[:bid][:status] = 'active' if step == steps.last
    @bid.attributes = params[:bid].permit(:bid_attribute)
    render_wizard @bid
  end

  # GET /bids/new
  def new
    @bid = Bid.new
    redirect_to wizard_path(steps.first, :bid_id => @bid.id)
  end

end

1 个答案:

答案 0 :(得分:1)

您在评论中提到您允许出价控制器中的参数。将它们添加到构建控制器。由于您在此控制器中构建对象,因此需要访问允许的参数。

添加:

def build_params
  params.require(:bid).permit(:param_1,:param_2,:param_3,:etc)
end

bids/build_controller.rb