【问题标题】:Rails: redirect_to(...) and return vs return redirect_toRails:redirect_to(...) 和 return vs return redirect_to
【发布时间】:2017-03-24 10:37:54
【问题描述】:

在 Rails 3 中重定向时,

return redirect_to(...) 是一个有效的 Rails 语句吗?

我一直只使用redirect_to(...) and return,但我看到了与上述类似的一行,我惊讶地发现它也有效。

【问题讨论】:

  • 抛开其他地方的说法不谈,redirect_to and return 假设redirect_to 返回的东西是虚假的,所以你必须知道这一点。我经常看到代码因此而无法按预期运行的情况。后者当然总是会返回

标签: ruby ruby-on-rails-3


【解决方案1】:

return redirect_to(...) 是一个有效的 Rails 语句吗?

是的。

语句的有效性不是由 Rails 决定的,而是由 Ruby 决定的。而在 Ruby 中,return something 是完全有效的。

【讨论】:

  • 两者在 Rails 中执行重定向方面有什么区别?
  • @turntwo 没有区别。
  • 可能值得注意的是,通常return something 返回由something 返回的值,而something and return 返回nil,如果something 为真,则不返回如果something 是假的。但我同意在这种情况下不会有太大的不同,因为redirect_to 永远不会返回虚假。
  • 当我要将用户重定向到的 url 是有条件的时,我倾向于使用 return redirect_to()。例如:return redirect_to() if x 一些处理和redirect_to() 几行之后。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-28
  • 1970-01-01
  • 2015-03-12
  • 2014-05-01
  • 2014-07-30
  • 2013-06-02
相关资源
最近更新 更多