Rails一行条件失败,语法错误

时间:2015-10-14 06:56:22

标签: ruby-on-rails if-statement

我正在做简单的条件,但可能遗漏了一些明显的条件。

此代码失败:语法错误,意外的tIDENTIFIER,期望keyword_do或'{'或'('redirect_f?redirect_to root_url:return redirect_f ^

def check_permissions(redirect_f = true)
    unless current_user 
        redirect_f ? redirect_to root_url : return redirect_f
    end
end

但是这个工作正常:

def check_permissions(redirect_f = true)
    unless current_user 
        if redirect_f 
            redirect_to root_url 
        else
            return redirect_f
        end
    end
end

据我所知,两者都是一样的,语法是正确的,但我想使用第一个。 我做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

你必须使用(),因为ruby无法识别你究竟是什么意思

unless current_user 
    redirect_f ? redirect_to(root_url) : return(redirect_f)
end