在 Rails 中,如果值不存在,我们可以执行以下操作以避免错误:
@myvar = @comment.try(:body)
当我深入挖掘哈希并且不想出错时,什么是等效的?
@myvar = session[:comments][@comment.id]["temp_value"] # [:comments] may or may not exist here
在上述情况下,session[:comments]try[@comment.id]不起作用。什么会?
session[:comments]try[@comment.id]
你忘了.在try:
.
try
@myvar = session[:comments].try(:[], @comment.id)
因为[]是你做时方法的名称[@comment.id]。
[]
[@comment.id]