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
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.
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
|