Usando ActiveRecord em projetos não-Rails em Rubymine

Se você já tentou usar as ferramentas ActiveRecord no IDE RubyMine , pode ter se deparado com um problema um tanto irritante onde as associações do seu modelo não são vistas corretamente e, portanto, lançam avisos falsos. Tudo o que você realmente pode fazer é ignorá-los ou desligar a inspeção “Referência de trilhos não resolvidos” … o que é ruim, porque provavelmente é o mais importante no aplicativo (protege você de vários erros de digitação).

Qual é a aparência do erro

Se você é como eu, isso é totalmente irritante.

Há um relatório de bug ativo no Jetbrains sobre isso, mas está parado há um tempo. Nesse ínterim, existe esta solução alternativa. Aparentemente o RubyMine não pode resolver essas referências corretamente a menos que ele pense que está funcionando em uma aplicação Rails real.

Você pode “enganá-lo” seguindo estas etapas:

  • Mova seus modelos para seus próprios arquivos .rb, por modelo, assim como em um aplicativo Rails real. Coloque-os em uma pasta no diretório raiz do seu projeto.app/models

  • Faça um configdiretório sob o diretório raiz do seu projeto e crie dois arquivos vazios, eapplication.rbroutes.rb

  • Saia do RubyMine. Na pasta raiz do seu projeto, exclua a pasta oculta . AVISO: Isso excluirá todas as configurações específicas do projeto!.idea

  • Reinicie e reabra seu projeto. Você deve ver as opções padrão do servidor Rails na caixa de execução na parte superior da tela. Seus modelos agora devem se associar corretamente.