vim-rails icon indicating copy to clipboard operation
vim-rails copied to clipboard

ViewComponent related file

Open natematykiewicz opened this issue 1 year ago • 1 comments
trafficstars

When using ViewComponent, you'll have a .rb file in app/components, and a corresponding Rails view whose path is the same except for the file extension.

For example: app/components/foo_component.rb app/components/foo_component.html.erb

Is there a good way to go to the Ruby file when I'm in the view, and go to the view when I'm in the Ruby file? :A and :R both bring me to spec/components/foo_component_spec.rb when in the Ruby file and do nothing ("No alternate file defined") when in the view.

Given how controllers and views work with :R, I think :R would be a good fit for this.

natematykiewicz avatar Mar 06 '24 05:03 natematykiewicz

Create a .projections.json file in your project directory with the following content:

{
  "app/components/*_component.rb": {
    "type": "component",
    "related": "app/components/{}_component.html.erb"
  },
  "app/components/*_component.html.erb": {
    "type": "template",
    "related": "app/components/{}_component.rb"
  }
}

That will make :R work for moving between file and template. since we are already able to open the test with :A.

jbigler avatar Jul 16 '24 05:07 jbigler