guy*_*ler 2 ruby-on-rails ruby-on-rails-3 rails-activerecord
我有一个与照片对象有"has_many"关系的对象
has_many :photos, :foreign_key => 'person_id', :dependent => :destroy
Run Code Online (Sandbox Code Playgroud)
和照片:
belongs_to :person, :foreign_key => 'person_id'
Run Code Online (Sandbox Code Playgroud)
我想做的事.是在人员更新期间,如果用户将具有相同"种类"(这是照片的属性)的新照片上传到该人,则从db中删除旧照片
例如:正在对具有上传照片的人进行更新,如果已经存在具有相同"person_id"和相同"种类"的照片记录,则该照片将具有"面部",并且将首先删除(未更新)且仅然后保存新记录
谢谢
你的逻辑很复杂,不能构建到框架中,你可以在控制器或模型中做你需要的,只需找到你要替换的照片,如果它存在则销毁它并创建一个新的
photo = person.photos.where(kind: "face").first
photo.destroy if photo
# procede with creating new photo object
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3842 次 |
| 最近记录: |