Ruby on rails RubyonRails助手:如果为nil,则显示mdash
对不起我的英语 我在太多的地方,显示值有关对象的名称:Ruby on rails RubyonRails助手:如果为nil,则显示mdash,ruby-on-rails,ruby,erb,Ruby On Rails,Ruby,Erb,对不起我的英语 我在太多的地方,显示值有关对象的名称: = post.category.name 并且这个类别可能为null(Ruby中为nil)。在Django中,有defaultfilter,它可以使任何未知变量变为None(nil),我们可以设置默认值 在Rails中,在这种情况下会出现异常NoMethodError,因为我们试图访问不存在的类别名称的含义 我想编写一个助手来捕获异常并返回&mdash但是post.category.name值是在传递给助手之前计算的(原则上是逻辑的)
= post.category.name
并且这个类别可能为null(Ruby中为nil)。在Django中,有default
filter,它可以使任何未知变量变为None(nil),我们可以设置默认值
在Rails中,在这种情况下会出现异常NoMethodError,因为我们试图访问不存在的类别名称的含义
我想编写一个助手来捕获异常并返回&mdash
但是post.category.name
值是在传递给助手之前计算的(原则上是逻辑的)
总的来说,我想在这里给出以下代码:
= post.category.nil? ? raw ('-'): post.category.name
以更方便的形式,像这样
= mdash(post.category.name)
谢谢大家! 用这个代替三元运算符怎么样
post.category.try(:name) || raw('-')