首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >decent_exposure每次创建双条目

decent_exposure每次创建双条目
EN

Stack Overflow用户
提问于 2014-09-06 21:56:28
回答 1查看 123关注 0票数 2

对于嵌套表单,我使用decent_exposure gem和cocoon gem,在每次创建或更新之后,我将得到重复的条目。我做错了什么?X_X

控制器

代码语言:javascript
复制
class Admin::DealsController < ApplicationController
  expose :deals
  expose :deal, attributes: :deal_params

  def create
    if deal.save
      redirect_to [:admin, deal], notice: 'Deal was successfully created.'
    else
      render :new
    end
  end

  def update
    if deal.update(deal_params)
      redirect_to [:admin, deal], notice: 'Deal was successfully updated.'
    else
      render :edit
    end
  end

  private

  def deal_params
    params.require(:deal).permit :title, :end_date,
                                 deal_variants_attributes: [:id, :title, :description, :price, :discount, :_destroy]
  end
end

模型

代码语言:javascript
复制
class Deal < ActiveRecord::Base
  has_many :deal_variants

  accepts_nested_attributes_for :deal_variants, reject_if: :all_blank, allow_destroy: true
end

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-18 14:49:35

我今天遇到了同样的问题,以下是我的解决办法和解释:

这是因为decent_exposure已经为您设置了必需的属性,当您调用.update(deal_params)时,它会复制条目,因为DealVariant的第一个实例是曝露,第二个是.update(deal_params)调用。相反,您需要做的是在createupdate操作中使用简单的update方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25705134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档