Sometimes being able to preview a view might come in handy, like when a view is going to be used only inside a PDF, for example.
This gem allows a setup similar ActionMailer::Preview
, and provides a development tool for rendering and debugging views that wouldn't otherwise be rendered in your application.
Add this line to your application's Gemfile:
gem 'action_view_preview'
And then execute:
$ bundle
Or install it yourself as:
$ gem install action_view_preview
Run rails generate action_view_preview:install
and the generator should create a hello_preview.rb
and mount the route in your routes.rb
file, similar to the steps shown below in the manual install.
- Mount the engine in your
routes.rb
:
Rails.application.routes.draw do
# Add the line below
mount ActionViewPreview::Engine => "/action_view_preview"
end
- Create files
*_preview.rb
ontest/views/previews/
, e.g.hello_preview.rb
:
class HelloViewPreview < ActionViewPreview::Base
def hello
'<b>Hello world</b>'
end
end
- Access the route
/action_view_preview
to see the available previews
Use config.action_view_preview
on config/application.rb
to add custom configuration. For example, if you want to place the preview files in lib/view_previews
:
config.action_view_preview.preview_path = "#{Rails.root}/lib/view_previews"
Possible config values:
Config | Default | Description |
---|---|---|
preview_path |
test/views/previews |
Path to the preview files |
The gem is available as open source under the terms of the MIT License.