Module: Cardboard::PublicHelper

Defined in:
app/helpers/cardboard/public_helper.rb

Instance Method Summary collapse

Instance Method Details

Example:

link_to_page 123, class: "btn" do |page|
  "hello #{page.title}"
end

link_to_page “home”



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/helpers/cardboard/public_helper.rb', line 11

def link_to_page(page_id, html_options={}, &block)  
  page = if page_id.is_a?(Integer)
    Cardboard::Page.where(id: page_id).first 
  else #if page_id.is_a? String
    Cardboard::Page.where(identifier: page_id).first 
  end
  return nil if page.blank?

  title = if block_given?
    capture(page, &block)
  else
    page.title
  end
  link_to(title, page.url, html_options)
end

#nested_pages(page = nil, &block) ⇒ Object

Example 1:

nested_pages Cardboard::Page.arrange do |page, subpages|

.indent
  = link_to(page.title, page.url) if page.in_menu?
  = subpages

end Example 2: %ul

= nested_pages do |page, subpages|
  li
    = link_to page.title, edit_page_path(page)
    = (:ul, subpages) if subpages.present?

Raises:

  • (ArgumentError)


39
40
41
42
# File 'app/helpers/cardboard/public_helper.rb', line 39

def nested_pages(page = nil, &block)
  raise ArgumentError, "Missing block" unless block_given?
  inner_nested_pages(Cardboard::Page.arrange(page), &block).try(:html_safe)
end