Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Quick and painless action links for your rails applications

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 MIT-LICENSE
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 action_links.gemspec
README.rdoc

Action_Links

Action_Links automatically includes action links (show, edit, destroy) based on the current page and user roles/permissions.

Installation

Add the following to your Gemfile

gem "action_links"

From the command line

> bundle install

Action Links is built to work with Declarative Authorization

Configuration

Configuration is optional. Everything will work out of the box.

ActionLinks.configure do |config|
  @bootstrap_action_classes = { :show => 'btn', :edit => 'btn', :destroy => 'btn btn-danger' }
  @bootstrap_action_icons = { :show => 'icon-eye-open', :edit => 'icon-pencil', :destroy => 'icon-remove icon-white' }
  @action_icons = { :show => 'eye-open', :edit => 'pencil', :destroy => 'remove' }
end

Usage

  • Basic Usage

    action_links @user
  • Include actions

    action_links @user, :include => [:download]
  • Exclude actions

    action_links @user, :exclude => [:edit, :destroy]
  • Pass in block

    action_links @user do
      link_to "Hello World", dashboard_path
    end
  • Bootstrap buttons. See configuration to customize button types and icons.

    bootstrap_action_links @user
  • Namespaced objects

    action_links [:manage, @product]
  • Return just the link with optional parameters

    =action_link :edit, @event
    // or more advanced
    =action_link :clone, @event, link_wrapper: :li, url: url_for([:clone, @event]), icon: 'copy', text: 'Copy', class: 'btn'
  • You can even pass in custom attributes with the :html tag

    =action_link :clone, @event, class: 'btn', html: { id: 'super_cool_clone_button' }
    // NOTE: if you define 'class' in the :html hash, it will overwrite the default class,
    //       otherwise you can define class outside of the :html hash like in the above example 
    //       and it will be added to the default value.
Something went wrong with that request. Please try again.