Esta postagem já está desatualizada. Para RubMine 6, você deve olhar este: RubyMine 6.0 Remote Ruby SDK + debugging
Eu gosto de usar o Vagrant para projetos nos quais estou trabalhando.
Sempre pensei que usar máquinas virtuais faz com que você faça concessões, pelo menos para a depuração visual. Mas este não é o caso para desenvolver aplicativos Ruby (e Rails) com RubyMine .
Você precisará encaminhar outra porta em sua VM. Se você também estiver usando o Vagrant, esta é apenas uma linha de configuração dentro do seu Vagrantfile
config.vm.forward_port 1234, 1234
Instale ruby-debug-ide gem em seu servidor VM
gem install ruby-debug-ide --pre --no-ri --no-rdoc
gem install debugger --no-ri --no-rdoc
Dentro do RubyMine, adicione uma nova configuração de execução / depuração. Execute -> Editar configurações … -> Adicionar nova configuração (sinal +) -> Depuração remota Ruby
Defina corretamente sua raiz remota e pastas raiz locais.
Para executar seu aplicativo Rails em modo de depuração em sua VM, você precisa executá-lo com o comando rdebug-ide . Cuidado para definir o host correto ou apenas defina-o como 0.0.0.0, que ouvirá todas as conexões na porta 1234.
rdebug-ide --port 1234 --dispatcher-port 26162 -h 0.0.0.0 -- script/rails server
Quando o aplicativo Rails está rodando, você pode definir pontos de ruptura dentro do RubyMine clicando em um painel, à esquerda da linha de código que deseja depurar. O depurador deve interromper a execução nessa linha quando você fizer a solicitação certa.
Não encontrei nenhum bom exemplo de como usar o depurador remoto para aplicativos Rails, então escrevi este post. Eu espero que você ache isso útil.