1
首先,我是一個新手。所以如果我不熟悉這個術語,請和我一起裸照。Ruby on Rails將csv上傳到模型,驗證另一個模型中是否存在字段
我正在使用rails 4.2.6,我有兩個模型 - 一個「項目」,一個「捐助者」。我有兩個csv上傳工作正常。 「項目」包含一個名爲「捐助者」的字段,當我上傳項目csv時,我想驗證我的「捐助者」模型的「捐助者」字段中是否存在該csv中的「捐助者」值。 (對不起,讓一個模型和列命名非常相似有點混亂)無論如何,我在project.rb中,顯然這是錯誤的,我只是不確定如何將驗證連接到另一個模型。
class Project < ActiveRecord::Base
validates :donor, presence: true
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Project.create! row.to_hash
end
end
end
更新: 我現在在這裏,覺得我越來越近,但還沒有應用....
class Project < ActiveRecord::Base
validate :validate_donor
def validate_donor
if Donors.find_by_donor(donor) == nil
errors.add(:base, "Donor false")
end
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Project.create! row.to_hash
end
end
end
非常感謝。添加一個結束固定它..d'oh! – bwatson30