Matestack Ui Core
AboutMatestack Ui CoreMatestack Ui VueJsMatestack Ui Bootstrap
1.5
1.5
  • Welcome
  • Getting started
    • Installation & Update
    • Concepts & Rails Integration
    • Quick Start
    • Support & Feedback [WIP]
    • Common Issues [WIP]
  • UI Components
    • Component Overview
    • Rails Integration
    • Component Registry
    • General Component API
    • Haml Components
    • Reusing Views or Partials
    • Testing [WIP]
  • Reactivity
    • Reactivity Overview
    • Rails Integration
    • Actions
    • Forms
    • Async
    • Cable
    • Isolated
    • Collection
    • Custom Vue.js Components
    • Vue.js Event Hub
    • Vuex [WIP]
  • SPA-like Apps
    • SPA Overview
    • Rails Integration
    • App API
    • Page API
    • Transitions
    • Authorization
    • Tutorial
      • Creating a SPA-like App with Matestack
      • Essential Guide 1: Setup
      • Essential Guide 2: ActiveRecord & Database
      • Essential Guide 3: Person Index, Show, Transition
      • Essential Guide 4: Forms & Actions (Create, Update, Delete)
      • Essential Guide 5: Toggle Component
      • Essential Guide 6: Async Component
      • Essential Guide 7: Partials and custom components
      • Essential Guide 8: Collection and async component
      • Essential Guide 9: Custom Vue.js components
      • Essential Guide 10: Styling and Notifications
      • Essential Guide 11: Authentication
      • Essential Guide 12: Heroku Deployment with Postgres
      • Essential Guide 13: Wrap Up & Outlook
  • Components API
    • Core Components
      • Abbr
      • Address
      • Area
      • Article
      • Aside
      • B
      • Bdi
      • Bdo
      • Blockquote
      • Button
      • Br
      • Caption
      • Cite
      • Code
      • Data
      • Datalist
      • Dd
      • Del
      • Details
      • Dfn
      • Dialog
      • Div
      • Dl
      • Dt
      • Em
      • Fieldset
      • Figure
      • Footer
      • Hr
      • Icon
      • Iframe
      • Img
      • Ins
      • Input
      • Header
      • Heading
      • Kbd
      • Label
      • Legend
      • Link
      • Lists
      • Main
      • Mark
      • Map
      • Meter
      • Nav
      • Noscript
      • Object
      • Option
      • Optgroup
      • Output
      • Paragraph
      • Param
      • Picture
      • Pg
      • Plain
      • Pre
      • Progress
      • S
      • Samp
      • Section
      • Select
      • Small
      • Span
      • Sup
      • Sub
      • Strong
      • Table
      • Template
      • Textarea
      • U
      • Unescaped
      • Q
      • Rails View
      • Rp
      • Rt
      • Ruby
      • Var
      • Video
      • Wbr
      • Youtube
    • Reactive Core Components
      • Action
      • Async
      • Cable
      • Collection
      • Form
      • Form Input
      • Form Checkbox
      • Form Radio
      • Form Select
      • Form Submit
      • Form Textarea
      • Onclick
      • Transition
      • Toggle
  • Integrations
    • Action Cable
    • Devise
    • CSS Frameworks [WIP]
    • Third Party JavaScript [WIP]
    • Third Party Ruby Gems [WIP]
  • Matestack Addons
    • Create your own Addon [WIP]
  • Community
    • Discord
    • Contribute
  • About
    • Core Team [WIP]
    • Sponsoring [WIP]
    • Legal Details [WIP]
Powered by GitBook
On this page
  • Parameters
  • path
  • text (optional)
  • id (optional)
  • class (optional)
  • method (optional, default is get)
  • target (optional, default is nil)
  • title (optional)
  • Example 1
  • Example 2
  • Example 3
  • Example 4
  • Example 5 - path from symbol
  • Example 6 - path from symbol with params
  • Example 7 - path via Rails path helper method

Was this helpful?

Edit on GitHub
  1. Components API
  2. Core Components

Link

This component is used to either navigate within your matestack application or to navigate to outside URLs.

Parameters

This component creates an <a>-tag and expects a mandatory path input and optional options parameters.

path

If the path input is a string it just uses this string for the link target.

If the path input is a symbol (e.g. :root_path) it calls the Rails url helper method in order to generate the link target

You can also just use the Rails url helper methods directly. They will return a string which is then used as the link target without any further processing.

text (optional)

The text that gets wrapped by the <a>-tag. If no text is given the link component looks for further arguments within itself (see examples below).

id (optional)

Expects a string with all ids <a>-tag should have.

class (optional)

Expects a string with all classes <a>-tag should have.

method (optional, default is get)

The HTTP request method the link should implement.

target (optional, default is nil)

Specify where to open the linked document.

title (optional)

Specify a title for the link (shown on mouseover).

Example 1

This example renders a simple link within a <div-tag

div id: "foo", class: "bar" do
  link path: "https://matestack.org", text: "Here"
end

and returns

<div id="foo" class="bar">
  <a href="https://matestack.org">Here</a>
</div>

Example 2

This example renders a link without a specific link-text, so it wraps the rest of its content.

div id: "foo", class: "bar" do
  link path: "https://matestack.org", title: "The matestack website" do
    plain "Here"
  end
end

returns

<div id="foo" class="bar" title="The matestack website">
  <a href="https://matestack.org">Here</a>
</div>

Example 3

This example renders a link around a div and the link opens in a new tab.

div id: "foo", class: "bar" do
  link path: "https://matestack.org", target: "_blank" do
    div do
      plain "Here"
    end
  end
end

returns

<div id="foo" class="bar">
  <a target="_blank" href="https://matestack.org">
    <div>Here</div>
  </a>
</div>

Example 4

This example renders a link with a get request to the root_path within your Rails application.

div id: "foo", class: "bar" do
  link path: :root_path do
    plain "Here"
  end
end

returns

<div id="foo" class="bar">
  <a href="/">
    Here
  </a>
</div>

Example 5 - path from symbol

This example renders a link with a get request to any within your Rails application. In case you want to switch between pages within one specific matestack app, using the transition component probably is a better idea though!

div id: "foo", class: "bar" do
  link path: :inline_edit_path, text: 'Click to edit'
end

returns

<div id="foo" class="bar">
  <a href="/inline_edit">Click to edit</a>
</div>

Example 6 - path from symbol with params

You can also dynamically create paths from symbols and params, as displayed below:

div id: "foo", class: "bar" do
  link path: :single_endpoint_path, params: {number: 1}, text: 'Call API endpoint 1'
end

returns

<div id="foo" class="bar">
  <a href="/api/single_endpoint/1">Call API endpoint 1</a>
</div>

Example 7 - path via Rails path helper method

You can also used Rails path helper methods:

div id: "foo", class: "bar" do
  link path: single_endpoint_path(number: 1), text: 'Call API endpoint 1'
end

returns

<div id="foo" class="bar">
  <a href="/api/single_endpoint/1">Call API endpoint 1</a>
</div>
PreviousLegendNextLists

Last updated 3 years ago

Was this helpful?