class FileSystemResolver

Ruby on Rails 4.1.16

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

A resolver that loads files from the filesystem. It allows setting your own resolving pattern. Such pattern can be a glob string supported by some variables.

Examples

Default pattern, loads views the same way as previous versions of rails, eg. when you’re looking for users/new it will produce query glob: ‘users/new{.{en},}{.{html,js},}{.{erb,haml},}`

FileSystemResolver.new("/path/to/views", ":prefix/:action{.:locale,}{.:formats,}{.:handlers,}")

This one allows you to keep files with different formats in separate subdirectories, eg. users/new.html will be loaded from users/html/new.erb or users/new.html.erb, users/new.js from users/js/new.erb or users/new.js.erb, etc.

FileSystemResolver.new("/path/to/views", ":prefix/{:formats/,}:action{.:locale,}{.:formats,}{.:handlers,}")

If you don’t specify a pattern then the default will be used.

In order to use any of the customized resolvers above in a Rails application, you just need to configure ActionController::Base.view_paths in an initializer, for example:

ActionController::Base.view_paths = FileSystemResolver.new(
  Rails.root.join("app/views"),
  ":prefix{/:locale}/:action{.:formats,}{.:handlers,}"
)

Pattern format and variables

Pattern has to be a valid glob string, and it allows you to use the following variables:

  • :prefix - usually the controller path

  • :action - name of the action

  • :locale - possible locale versions

  • :formats - possible request formats (for example html, json, xml…)

  • :handlers - possible handlers (for example erb, haml, builder…)

Inherits from

ActionView::PathResolver

Methods (defined here)

Type at least 2 characters to search.

↑↓ navigate · open · esc close