Matestack Ui Core
AboutMatestack Ui CoreMatestack Ui VueJsMatestack Ui Bootstrap
3.0
3.0
  • Welcome
  • Migrating from 2.x to 3.0
  • Getting started
    • Installation & Update
    • Hello World
  • HTML Rendering
    • Basic Rendering Mechanism
    • Integrating Action View Helpers
    • Integrating Rails Views or Partials
  • Components
    • API
    • Usage on Rails Views
    • Usage on Matestack Pages
    • Usage on Matestack Layouts
    • Usage in Isolation
    • Registry
  • Pages
    • API
    • Rails Controller Integration
  • Layouts
    • API
    • Rails Controller Integration
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Pages

Rails Controller Integration

Pages are used as Rails view substitutes and therefore called in a Rails controller action:

app/controllers/some_controller.rb
class SomeController < ApplicationController

  include Matestack::Ui::Core::Helper

  def overview
    render Pages::SomePage
  end

end

A Matestack page will in this case be yielded into the Rails layout, unless the Rails layout is disabled in the controller via:layout false

Passing data to pages

Sometimes you want to pass in data from the calling controller action into the page. This works the same way as seen at components:

class SomeController < ActionController::Base

  include Matestack::Ui::Core::Helper

  def some_page
    render SomePage, foo: 'bar', bar: 'baz'
  end

end
class SomePage < Matestack::Ui::Page

  required :foo
  optional :bar

  def response
    div id: "my-page" do
      plain context.foo # "bar"
      plain context.bar # "baz"
    end
  end

end
PreviousAPINextAPI

Last updated 3 years ago

Was this helpful?