media = Media.new(params[:media])
media.save
@attachment.media = Media.find(????)
@attachment.save
Run Code Online (Sandbox Code Playgroud)
我尝试过,media.id但显然,这是尚未保存到数据库的媒体....所以我如何获得ID?
如果media.id未分配,则在保存和media.save返回时可能会出错false,但由于您没有检查它,因此您没有注意到.
避免这种情况的方法是请求更严格的保存:
def something
media = Media.new(params[:media])
media.save!
rescue ActiveRecord::RecordInvalid
# Something couldn't be saved
render(...)
end
Run Code Online (Sandbox Code Playgroud)
通常,如果记录保存正确,那么media.errors.full_messages将是一个空数组.
如果没有错误,那么您before_或其中一个after_过滤器可能会返回false并阻止其被保存,尽管这种情况不太常见.
| 归档时间: |
|
| 查看次数: |
2208 次 |
| 最近记录: |