API

Response

Use the response method to define the UI of the page by using Matestack's HTML rendering or calling components.

class SomePage < Matestack::Ui::Page

  def response
    div id: "div-on-page" do
      SomeComponent.()
    end
  end

end
  class SomeComponent < Matestack::Ui::Component

    def response
      div id: "my-component" do
        plain "hello world!"
      end
    end

  end

Partials and helper methods

Use partials to keep the code dry and indentation layers manageable!

Local partials on page level

In the page definition, see how this time from inside the response, the my_partial method below is called:

Partials defined in modules

Extract code snippets to modules for an even better project structure. First, create a module:

Include the module in the page:

Helper methods

Not only can instance methods be used as "partials" but as general helpers performing any kind of logic or data resolving:

Prepare

Use a prepare method to resolve instance variables before rendering a page if required.

Params access

A page can access request information, e.g. url query params, by calling the params method:

Now, visiting the respective route to the page, e.g. via /xyz?foo=bar, the page reads the [:foo] from the params and displays it.

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:

Last updated

Was this helpful?