新手问题 3 种写法有什么区别

ane · 2014年09月03日 · 最后由 jasl 回复于 2014年09月04日 · 1892 次阅读
def index
  if current_user
    redirect_to market_path(current_market) and return
  end
end
def index
  if current_user
     return  redirect_to market_path(current_market) 
  end
end
def index
  if current_user
     redirect_to market_path(current_market) 
  end
end

印象里,原理上@_response_body这个内部属性有内容的时候,就会报multi-render异常,所以 return 的作用就是防止触发这种情况

所以 一二是等价的,三可不可以忘记了(忘记redirect_to的行为,但是换 render 是可以的)

#1 楼 @jasl 正如你说的,3 有可能 multi

#2 楼 @ane 恩,那就不可以了,写这种代码都已经肌肉记忆了...不过我说的原理应该是没错的,只要遵循原理,代码都是等价的~

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