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
endPartials 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?