diff --git a/autoload/rails.vim b/autoload/rails.vim index fc3b47c6..1ebab9b3 100644 --- a/autoload/rails.vim +++ b/autoload/rails.vim @@ -990,7 +990,9 @@ function! s:app_ruby_script_command(cmd) dict abort endfunction function! s:app_static_rails_command(cmd) dict abort - if filereadable(self.real('bin/rails')) + if exists('g:rails_cmd') + let cmd = g:rails_cmd + elseif filereadable(self.real('bin/rails')) let cmd = 'bin/rails '.a:cmd elseif filereadable(self.real('script/rails')) let cmd = 'script/rails '.a:cmd @@ -5041,7 +5043,7 @@ function! rails#buffer_setup() abort if self.app().has_rails5() call self.setvar('dispatch', \ dir . - \ self.app().ruby_script_command('bin/rails') . + \ self.app().ruby_script_command( get(g:, 'rails_cmd', 'bin/rails') ) . \ " %:s/.*/\\=rails#buffer(submatch(0)).default_task(exists('l#') ? l# : 0)/") else call self.setvar('dispatch', diff --git a/doc/rails.txt b/doc/rails.txt index edb56341..daa661ab 100644 --- a/doc/rails.txt +++ b/doc/rails.txt @@ -793,6 +793,12 @@ single project. Gem maintainers may also provide custom projections by placing them in lib/rails/projections.json. + *g:rails_cmd* +Set this if you want to specify a custom rails command. This could come in +handy if you wanted to run rails in docker for example: +> + let g:rails_cmd = 'docker compose run container bin/rails' +< ABOUT *rails-about* *rails-plugin-author* The latest stable version can be found at