【发布时间】:2014-09-03 23:30:13
【问题描述】:
我有两个模型
地址.rb 属于_to :zip 接受_nested_attributes_for :zip 压缩包.rb has_many :地址在新地址的表单上,我还创建了一个 Zip。但我想检查插入的 Zip 是否已经存在。如果是,它应该返回现有的 Zip,如果不是,它应该创建一个新的
地址控制器 定义新 @address = 地址.new @address.build_zip 结尾我在 StackOverFlow 上看到了类似的 question,但没有我想要的答案……有人建议:
before_create :check_zip_exists def check_zip_exists @zip = Zip.find_by_cp1_and_cp2(self.cp1, self.cp2) 如果@zip!=nil # 结尾 结尾# 应该是什么才能将现有的 Zip 与地址相关联,而不是创建一个新的?
【问题讨论】:
-
我看不出这与您所说的重复。正如我在问题中所说,它与另一个没有完整答案的 question 重复,这就是我再次询问的原因
-
是的,这也是一个骗局。大概还有 50 个人...
@address.zip = Zip.find_or_create_by... -
这不是骗人的,因为没有一个问题可以作为有效的答案。如果您愿意,可以检查它...
find_or_create_by不起作用,因为我想根据两个参数查找并使用 6 个参数创建...但是感谢您的参与
标签: ruby-on-rails nested-attributes