# Module: Haml::Helpers::ActionViewExtensions

Included in:
  Haml::Helpers

Defined in:
  lib/haml/helpers/action_view_extensions.rb

## Overview

This module contains various useful helper methods that either tie into ActionView or the rest of the ActionPack stack, or are only useful in that context. Thus, the methods defined here are only available if ActionView is installed.

## Instance Method Summary collapse

- #page_class ⇒ String (also: #generate_content_class_names)

  Returns a value for the “class” attribute unique to this controller/action pair.

- #with_raw_haml_concat { ... }

  Treats all input to #haml_concat within the block as being HTML safe for Rails’ XSS protection.

## Instance Method Details

### #page_class ⇒ `String` Also known as: generate_content_class_names

Returns a value for the “class” attribute unique to this controller/action pair. This can be used to target styles specifically at this action or controller. For example, if the current action were `EntryController#show`,

    %div{:class => page_class} My Div

would become

    <div class="entry show">My Div</div>

Then, in a stylesheet (shown here as Sass), you could refer to this specific action:

    .entry.show
      font-weight: bold

or to all actions in the entry controller:

    .entry
      color: #00f

Returns:

- (`String`) —

  The class name for the current page

    36
    37
    38

    # File 'lib/haml/helpers/action_view_extensions.rb', line 36

    def page_class
      "#{controller.controller_name} #{controller.action_name}"
    end

### #with_raw_haml_concat { ... }

Treats all input to Haml::Helpers#haml_concat within the block as being HTML safe for Rails’ XSS protection. This is useful for wrapping blocks of code that concatenate HTML en masse.

This has no effect if Rails’ XSS protection isn’t enabled.

Yields:

- A block in which all input to `#haml_concat` is treated as raw.

See Also:

- Util#rails_xss_safe?

    49
    50
    51
    52
    53
    54
    55

    # File 'lib/haml/helpers/action_view_extensions.rb', line 49

    def with_raw_haml_concat
      old = instance_variable_defined?(:@_haml_concat_raw) ? @_haml_concat_raw : false
      @_haml_concat_raw = true
      yield
    ensure
      @_haml_concat_raw = old
    end