【问题标题】:Update nested_attributes by default默认更新嵌套属性
【发布时间】:2017-02-05 19:04:16
【问题描述】:

我尝试更新 iproduction,这是一种来自生产的嵌套形式,但我在此行中遇到了参数错误: “参数数量错误(0 代表 1)”

@production.update.iproductions_attributes(cow_id: @cow)

我的创作动作制作:

def create
    @production = @ranch.productions.create(production_params)
    @production.update(date: Date.today)
    @cows = @ranch.cows
    @cow = Cow.find_by(id: params[:id])
    @production.update.iproductions_attributes(cow_id: @cow)
    respond_to do |format|
      if @production.save
        format.html { redirect_to ranch_production_path(@production.ranch_id, @production), notice: 'Production was successfully created.' }
        format.json { render :show, status: :created, location: @production }
      else
        format.html { render :new }
        format.json { render json: @production.errors, status: :unprocessable_entity }
      end
    end
  end

你能帮我谈谈语法吗?

【问题讨论】:

  • 您没有显示您的数据模型,所以让我尝试理解:您是否要为production 的每个嵌套iproduction 设置cow_id?一个产品可以包含不同的iproductions,不一定是同一头牛,或者cow_id应该在production上?

标签: ruby-on-rails ruby nested-attributes cocoon-gem


【解决方案1】:

应该是@production.iproductions.update_attributes(cow_id: @cow)

   def create
        @production = @ranch.productions.create(production_params)
        @production.update(date: Date.today)
        @cows = @ranch.cows
        @cow = Cow.find_by(id: params[:id])
        @production.iproductions.update_attributes(cow_id: @cow)
        respond_to do |format|
          if @production.save
            format.html { redirect_to ranch_production_path(@production.ranch_id, @production), notice: 'Production was successfully created.' }
            format.json { render :show, status: :created, location: @production }
          else
            format.html { render :new }
            format.json { render json: @production.errors, status: :unprocessable_entity }
          end
        end
      end

【讨论】:

  • 你不能在关联上做update_attributes,这是完全错误的。
猜你喜欢
  • 2018-03-25
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多