Ruby on rails 为什么这个RABL节点返回nil?
我尝试了以下代码,该代码段返回trueRuby on rails 为什么这个RABL节点返回nil?,ruby-on-rails,ruby,rabl,Ruby On Rails,Ruby,Rabl,我尝试了以下代码,该代码段返回true node :transitType do |u| :Entry if u.type == 'HorseEntryTransit' :Exit if u.type == 'HorseExitTransit' end 您可以改进代码块并避免测试两个条件(当满足第一个条件时)。另外,假设两个条件都不满足的情况。当第二个条件失败时,即使第一个条件为真,您也会得到nil node :transitType do |u| u.type ==
node :transitType do |u|
:Entry if u.type == 'HorseEntryTransit'
:Exit if u.type == 'HorseExitTransit'
end
您可以改进代码块并避免测试两个条件(当满足第一个条件时)。另外,假设两个条件都不满足的情况。当第二个条件失败时,即使第一个条件为真,您也会得到
nil
node :transitType do |u|
u.type == 'HorseEntryTransit'
end
当第一个条件实际满足时,您的代码不起作用,因为第二个条件仍将被测试,并且该条件的结果是
nil
当您将行更改为simplyu.type
时会输出什么?当我将最后一行更改为u.type时,我会看到u.type的值(例如HorseExitTransit)。+1作为您的答案;谢谢我希望了解为什么我的代码不起作用。添加了一些关于为什么您的代码返回非常好的说明!这就是我需要的。非常感谢。
node :transitType do |u|
if u.type == 'HorseEntryTransit'
:Entry
elsif u.type == 'HorseExitTransit'
:Exit
else
nil #or :Neither
end
end