little tip (The error occurred while evaluating nil.update_attributes)

这种错误一般发生在,还没有创建的情况下就进行edit+update操作。
譬如在blog应用里,新建了一个blog对象,它关联一个logo对象,当你创建了blog对象时,logo对象还未创建,此时如果修改blog,并且还捎带的上传logo的话就会发生nil.update_attributes错误。
 
为了解决这个问题,可以在logos_controller的update方法里这样写:
 
    @logo=(@blog.avatar ||= @blog.create_avatar)
 
或者这样写:
 
@logo= Logo.find_or_create_by_blog_id(@blog.id)
 
 
 

你可能感兴趣的:(职场,休闲)