Rails4:使用has_many保存对象在has_many模型验证器上失败

指数

我试图一次保存两个模型(一对多)。我的代码如下所示:

@submission = Submission.new(submission_params)

@submission_asset = @submission.attachments.new(submission_asset_params)
@submission_asset.attachment_type = 'submission_asset'

if @submission.save
  # render or redirect here
else
  @submission.errors
end

但是当我运行它时,我得到了这个错误@messages={:attachments=>["is invalid"]}我认为这是因为我的附件模型具有以下特征:

# Attachment model snippet
validates :attachable_id, :attachable_type, presence: true

但这是确保将它附加到Submission但是,当我删除或注释掉验证时,它将起作用并保存两个模型和关联。

我该如何保存?

编辑

class Submission < ActiveRecord::Base
  has_many :attachments, as: :attachable, dependent: :destroy
end

class Attachment < ActiveRecord::Base
  belongs_to :attachable, polymorphic: true

  validates :attachable_id, :attachable_type, presence: true
end
奥列格·海杜尔(Oleg Haidul)
@submission_asset = @submission.attachments.build(submission_asset_params)

更新:

class Submission < ActiveRecord::Base
  has_many :attachments, as: :attachable, inverse_of: :attachable, dependent: :destroy
end

class Attachment < ActiveRecord::Base
  belongs_to :attachable, polymorphic: true

  validates :attachable, presence: true
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

has_many / :through rails4

来自分类Dev

has_many /:通过rails4

来自分类Dev

has_many /:通过rails4

来自分类Dev

has_many属性上的Rails验证

来自分类Dev

Rails4 has_many通过参数

来自分类Dev

Rails4:如何在许多has_many模型中显示数据

来自分类Dev

通过关联和嵌套模型形式使用has_many选择rails4集合

来自分类Dev

从Rails中的模型访问has_many对象

来自分类Dev

has_many关联上的验证错误未阻止保存

来自分类Dev

rails模型has_many本身

来自分类Dev

Rails 4的嵌套属性不会创建has_many模型

来自分类Dev

rails 4 has_many:通过不保存关联

来自分类Dev

Rails使用“ has_many”关联生成模型

来自分类Dev

使用Rails通过模型获取has_many

来自分类Dev

Rails关联has_many通过不使用多个模型

来自分类Dev

对多态模型使用has_many

来自分类Dev

使用多个键保存rails has_many关联

来自分类Dev

Rails 4 has_many通过许多

来自分类Dev

Rails 4 has_many问题

来自分类Dev

Rails / ActiveRecord has_many通过:未保存对象上的关联

来自分类Dev

在Rails 4中使用has_many

来自分类Dev

通过Rails 4中的关联使用has_many

来自分类Dev

has_many通过关系可以在Rails中使用4个模型吗?

来自分类Dev

通过 rails 使用查询 has_many

来自分类Dev

Rails 4 / Factory Girl-has_many / has_many工厂并定义不同的对象

来自分类Dev

Rails has_many链

来自分类Dev

Rails has_many STI

来自分类Dev

Rails协会has_many

来自分类Dev

Rails has_many OR 条件