Module: RailsConnector::DisplayHelper
- Included in:
- DefaultCmsHelper
- Defined in:
- app/helpers/rails_connector/display_helper.rb
Overview
This module contains a helper that can be used to render attributes of the CMS models.
Instance Method Summary collapse
-
#display_field(obj, attr, options = {}) ⇒ Object
Renders a field from the CMS, including an edit marker for the preview If the option :marker is
false
, no edit marker will be rendered. -
#display_value(value) ⇒ Object
For a consistent look of your site and easy maintenance, only the display helpers should be used to render an attribute value of a CMS model.
Instance Method Details
#display_field(obj, attr, options = {}) ⇒ Object
Renders a field from the CMS, including an edit marker for the preview If the option :marker is false
, no edit marker will be rendered.
<%= display_field @obj, :title %>
When creating an edit marker, all options except :marker are passed to MarkerHelper#edit_marker.
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'app/helpers/rails_connector/display_helper.rb', line 43 def display_field(obj, attr, = {}) .reverse_merge!({ :marker => ![:id, :path, :created, :last_changed, :version].include?(attr.to_sym) }) if .delete :marker edit_marker(obj, attr, ) do |obj, attr| display_value obj[attr] end else display_value obj[attr] end end |
#display_value(value) ⇒ Object
For a consistent look of your site and easy maintenance, only the display helpers should be used to render an attribute value of a CMS model.
<%= display_value @obj.title %>
Renders the value, taking its type into account.
-
An HtmlString will be exported by converting its links
-
A Time will be exported in an international form: Year-Month-Day Hour:Minutes
-
A non-HTML String will be quoted
-
other values will be rendered unchanged
18 19 20 21 22 23 24 25 26 |
# File 'app/helpers/rails_connector/display_helper.rb', line 18 def display_value(value) case value when MarkdownString then markdown(convert_links(value)).html_safe when HtmlString then convert_links(value).html_safe when String then html_escape_once(value).html_safe when Time then html_escape_once(l(value)).html_safe else value end end |