Ok guys, all is well. Let me outline my steps to the solution. First of all, thanks so much to @romainl and @mpapis for your help. @romainl, the first thing I did was try the RVM plugin, but that didn't help. Then I took a look at the link that @mpapis posted where I learned about the hidden setting for MacVim. Well, I couldn't quite find this setting right away because when they mention preferences, they're not talking about the UI (typically mapped to the Command + , hotkey). They're talking about
:h macvim
I found this out after scanning the aforementioned post.
Once I got to the macvim help section, I did a search for the world "shell".
/shell
I found two settings under the 3. Preferences section.
==============================================================================
3. Preferences macvim-prefs macvim-preferences
Some settings are global to the MacVim application and would not make sense as
Vim options. These settings are stored in the user defaults database and can
be accessed via the "MacVim.Preferences..." menu item.
macvim-user-defaults
Not all entries in the user defaults database are exposed via the preference
panel, usually because they should not be changed by the user under normal
circumstances. These options can still be changed with the "defaults" command
by opening Terminal and typing
defaults write org.vim.MacVim KEY VALUE
Check the man page on "defaults" for more information on this command as well
as general information regarding Mac OS X user defaults.
Here is a list of relevant dictionary entries:
...more entries
MMLoginShellArgument login shell parameter [string]
MMLoginShellCommand which shell to use to launch Vim [string]
...more entries
The MMLoginShellArgument and MMLoginShellCommand settings caught my eye. So I tried one of the settings via the
defaults write org.vim.MacVim KEY VALUE
syntax, but to no avail.
Then I googled "mmloginshell command macvim" which is one of the 2 settings I found from in the preferences section of the MacVim help.
The first link was a Stackoverflow question.
Once I got there, I came across this answer, which to me to this page on the MacVim Github wiki.
Once there, I followed Björn Winckler's (a core MacVim developer) steps on his troubleshooting guide; particularly the section titled "For zsh users".
It was here that I learned about these 2 files:
/etc/zshenv
/etc/zprofile
One would expect that the contents of ~/.zshrc would be read/sourced when MacVim is loaded and zsh is the current shell, but this is not the case. Once I became aware that one of these 2 files (/etc/zshenv and /etc/zprofile) should contain my $PATH variable, I proceeded to migrate it from ~/.zshrc to each file individually in order to see if one would work. I initially targeted /etc/zshenv (while leaving /etc/zprofile intact), reloaded vim/MacVim, and everything worked flawlessly.
which rails
actually had the right output this time.
@romainl, when you initially inquired about whether or not my $PATH variables were in synch between Terminal.app and vim, I think I mistakenly thought they were equivalent. In later analyzing both sets of output, I discovered that they were indeed slightly different. That would have been a good indicator right away as to what the potential problem was. My mistake and thanks.
Bash users may want to consider what I suspect to be the equivalent of /etc/zshenv, which is outlined here in this post.
Ben Schmidt mentions that you should set your $PATH variable in "~/.profile not ~/.bashrc"; so something to take into consideration when troubleshooting.
I don't recall ever having this issue with bash while having my $PATH variable specified in ~/.bashrc, but who knows...this bit of information could come in handy at some point.
Thanks everyone and I hope this information helps troubled zsh users. Happy Ruby hacking.