`
wiisola
  • 浏览: 85758 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

避免nil object错误

阅读更多
一般都会使用 <%= @topic.category.name %> 来简单的获取一篇文章的所在分类名,但但 @topic.category 为nil时,就会出现"nil object when you didn't expect it "的错误。

要避免发生这个错误,简单的办法就是改成如下代码:
<%= @topic category.name rescue nil %>
分享到:
评论

相关推荐

    ios-一个关于数组越界、字典key与value为nil情况下导致的低级错误的线上Crash的避免的仓库.zip

    一个关于数组越界、字典key与value为nil情况下导致的低级错误的线上Crash的避免的仓库

    superobject操作.txt

    superobject使用方法整理。 procedure SaveJson; var json, json_sub: ISuperObject; begin json := SO; json.S['name'] := 'Henri Gourvest'; json.B['vip'] := TRUE; json.O['telephones'] := SA(...

    XTSafeCollection.zip

    在`iOS`开发中非常常用的类。当然,在享受这些类的便利的同时,它们也给我们带来一些困扰。粗心我们可能会调用`addObject`传入一个`...最近项目上经常出现`NSDictionary`的`setObject:forKey:`的`nil object`的崩溃。

    ios-清理模型中的nil.zip

    清理字典转模型后模型中的nil,属性多于字典,服务器返回为null等情况

    lua-cjson decode中null改成nil

    lua-cjson lua的cjson库 decode略做修改 结果中null还原成nil

    golang nil接口和空接口

    前言 接口: 接口类型 是由一组方法签名定义的集合。 接口类型的变量可以保存...即便接口内的具体值为 nil,方法仍然会被 nil 接收者调用。 在一些语言中,这会触发一个空指针异常,但在 Go 中通常会写一些方法来优雅

    对Golang的nil的理解和认识

    Go文档中说明:nil是预定义的标识符,代表指针,通道,函数,接口,映射或者切片的零值,并不是Go的关键字之一。 还有,nil只能赋值为以上的几个类型,若赋值给基础类型,则会引发panic 2.nil的作用 指针(pointer)...

    iOS中nil、Nil、NULL、NSNull详解

    ObjC 里面的几个空值符号经常会差点把我搞死,这些基础的东西一点要弄清楚才行,以提高码农的基本...if (anotherObject == nil) // do something 定义: // objc.h #ifndef nil # if __has_feature(cxx_nullptr) # de

    object c/iphone 开发 试题

    5.nil表示空指针,相当于java的null 6.objc中使用字符串,前面要加上"@",是因为在前面加上"符号",编译器在编译的时候会在程序中给你留出位置,这样才能保证这个字符串不会丢失。(@是把C的字符串转成NSString的一...

    D7 隐藏状态栏中的时间源代码.rar

     hd:=findwindowex(findwindowex(findwindow('shell_traywnd',nil),0,'traynotifywnd',nil),0,'trayclockwclass',nil);  if hd&lt;&gt;0 then  showwindow(hd,sw_hide)  end;  //显示状态栏时间,单击“显示”按钮后...

    persistent-soft:Emacs 的持久存储,失败时返回 nil

    概述Emacs 的持久存储,失败时返回 nil。... 100解释这是的包装器,提供“软”获取和存储例程,这些例程永远不会抛出错误,而是在失败时返回 nil。 此库没有最终用户界面。 它只对其他 Lisp 代码有用。 提

    node-no-nil:从对象和数组中删除nil值。 将所有其他nil值转换为null

    从对象和数组中删除nil值。 将所有其他nil值转换为null。 例子 var noNil = require ( 'no-nil' ) ; var input = [ 1 , undefined ] ; console . log ( noNil ( input ) ) ; // [1]; ##执照 The MIT License ...

    to_nil:to_nil 宝石

    安装将此行添加到应用程序的 Gemfile 中: gem 'mr_to_nil' 然后执行: $ bundle或者自己安装: $ gem install mr_to_nil用法 [ :random , :array ] . to_nil # nil31337 . to_nil # nil"Yet another shitty gem" . ...

    带电的Solv和Nil黑洞的热电输运系数

    特别是,我们找到了带电Solv和Nil几何层的解决方案。 我们还发现Nil黑洞具有超标度违规。 对于我们所有的解决方案,我们计算相应双场理论的热电直流输运系数。 我们发现没有超标度违规的Solv和Nil黑洞对金属是双重...

    errstack:Go语言错误的累积容器

    go中的一个常见用法是函数返回“错误”或“ nil”,其中“错误”是实现错误接口的对象。 该返回值可以沿调用函数链传递,直到某些调用者想要处理它为止。 参见 对于中间函数来说,在传递错误之前将信息添加到错误...

    总结IOS中nil、Nil、NULL和NSNull区别

    相信有不少朋友想知道,在 Objective-C 中 nil 和 Nil 以及 NULL 的区别。最重要的是,在面试中还有不少朋友常会被问到。现在小编在这里统一详细说明。

    Data Analytics Made Accessible Maheshwari, Anil epub version

    Amazon Best Sellers Rank: #3 in Data Mining (Kindle Store) #4 in Big Data Businesses #5 in Information Management (Kindle Store) This book fills the need for a concise and conversational book on the...

    iferr:生成“ if err!= nil {”块

    = nil {”块 if err != nil {当前功能块, if err != nil {生成。 用法 安装和更新方式 $ go get -u github.com/koron/iferr 运行, if err != nil {对于1234字节的位置块,则获取。 $ iferr -pos 1234 &lt; main....

    IOS 基础之nil,NULL,NSNULL区别详解

    IOS 基础之nil,NULL,NSNULL区别详解 ① nil:一般赋值给空对象。 ② NULL:NULL 是一个通用指针(泛型指针)。 一般赋值给 nil 之外的其他空值。如SEL等。 ③ NSNULL:[NSNull null] 是一个对象,他用在不能使用 ...

    nil_or:执行除非 Nil

    gem 'nil_or' 然后执行: $ bundle 或者自己安装: $ gem install nil_or 用法 我什么时候需要它? 而不是写: date_of_birth = params [ :date_of_birth ] ? params [ :date_of_birth ] . to_date : nil ...

Global site tag (gtag.js) - Google Analytics