我有兩個模型的形式爲一個新的地址,我也創建一個Zip上回報率 - 檢查是否存在記錄之前建立
Address.rb belongs_to :zip accepts_nested_attributes_for :zip Zip.rb has_many :addresses
。但我想檢查插入的Zip是否已經存在。如果這樣做,應該返回現有的壓縮,如果它不應該創建一個新的
AddressController def new @address = Address.new @address.build_zip end
我在計算器上類似question看到沒有答案,我跳了...有人建議:
before_create :check_zip_exists def check_zip_exists @zip = Zip.find_by_cp1_and_cp2(self.cp1, self.cp2) if @zip!=nil # end end
什麼應該在#
爲了將現有的Zip關聯到地址,而不是創建一個新的?
的可能重複[Rails的ActiveRecord的創建或找到(http://stackoverflow.com/questions/17905038/rails-activerecord-create-or-find ) – 2014-09-03 23:38:32
http://blog.mitchcrowe.com/blog/2012/04/14/10-most-under-used-activerecord-relation-methods/ – 2014-09-03 23:39:44
我不明白這是如何與您指出的重複。正如我在我的問題中所說的,它是另一個[問題]的副本(http://stackoverflow.com/questions/4978893/how-to-check-if-a-record-exists-before-creating-a-new- one-in-rails3)並沒有完整的答案,這就是爲什麼我再次要求 – NunoRibeiro 2014-09-04 09:16:38