condition and return != condition && return

In dealing with the wisdom of rubocop to sanitize code I ran into the following: If you write 

redirect_to_somewhere and return

then the redirect will be followed by leaving the controller method but if you change that into 

redirect_to_somewhere && return

 as per rubocop’s instructions then it fails. Odd. What exactly is the difference between the two exactly? Of course the construct looks like a frequently used Bash idiom and in this case the two statements should be just on separate lines:


However, learns us that there is a difference in precedence and that we really should use the &&-operator only