Ruby 求告知以下代码中两个?是什么意思

Cger007 · 2016年11月21日 · 最后由 firebroo 回复于 2016年11月22日 · 2002 次阅读
def validate_parent_id
   return true if User.current.admin?
   parent_id = params[:project] && params[:project][:parent_id]
   if parent_id || @project.new_record?
     parent = parent_id.blank? ? nil : Project.find_by_id(parent_id.to_i)
     unless @project.allowed_parents.include?(parent)
       @project.errors.add :parent_id, :invalid
       return false
     end
   end
   true
 end

a ? b : c

if a
  b
else
  c
end

第一个问号是 ruby 判断 true or false,第二个是三目运算

ruby 的语法。你撸代码之前好歹看一遍基础语法。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号