--- layout: default title: Tutorial ---
This document assumes you are a beginning Rails user; if you are familiar with Rails you might want to check out our quick start.
### Add the gem to your Gemfile This is found at `Gemfile` in the root of your Rails project. gem 'admin_assistant' ### Install the gem locally $ bundle install ### Install jQuery if you need to admin\_assistant uses jQuery. You may already have jQuery installed for your project (it's the standard starting with Rails 3.1), but if not, you can get it like so: $ curl http://code.jquery.com/jquery-1.6.2.min.js > \ public/javascripts/jquery-1.6.2.min.js ### Create a separate admin layout (without Sprockets) If you don't have any admin controllers in your Rails project yet, you probably need to create a separate admin layout. Create a file called `app/views/layouts/admin.html.erb` like this: <%= javascript_include_tag("jquery-1.6.2.min") %> <%= admin_assistant_includes %> <%= yield %> If you've already created an admin layout, you should add the javascript references, and the call to `admin_assistant_includes`. This includes the standard CSS and Javascript that are packed with admin\_assistant. ### Create a separate admin layout (with Sprockets) Rails 3.1 recommends Sprockets as the default asset packager. If you're using Sprockets, you'll probably want to create separate `admin.js` and `admin.css` manifest files. `app/views/layouts/admin.html.erb` will look like this: <%= javascript_include_tag "admin" %> <%= stylesheet_link_tag "admin" %> <%= yield %> And you will add admin\_assistant's assets to the manifest files, which you will most likely put at `app/assets/javascripts/admin.js` and `app/assets/stylesheets/admin.css`. Javascript: //= require admin_assistant //= require jquery.tokeninput.js CSS: //= require admin_assistant //= require token-input ### Create an admin controller Create your new admin controller for a pre-existing model. We'll be using a BlogPost as an example but you should be able to use any model in your Rails app. ./script/generate controller admin/blog_posts ### Edit your admin controller Open `app/controllers/admin/blog_posts_controller.rb` and set it up to use the admin layout and to use admin\_assistant for the BlogPost model: class Admin::BlogPostsController < ApplicationController layout 'admin' admin_assistant_for BlogPost end ### Restart your Rails app If you were already running your Rails app with `./script/server` etc, you should restart it. ### Check out the controller Visit `/admin/blog_posts` in your browser and you'll see something like this: ![index](/admin_assistant/img/blog_posts-index.png) You can now search, paginate, create, and edit blog posts. Depending on the model you're using, you might notice a few things: * Boolean values can be toggled on and off in the index view. * Any belongs-to associations are handled in the form by either a drop-down, or an Ajax autocompleter, depending on how many choices there are for the association. * There is no `destroy` action out of the box. This is intended as a safe default, but you can add it if you like. * If you have more than 10 pages of a given model, the pagination at the bottom includes a jump form to let you automatically jump to a page you enter. For more, check out the [API reference](/admin_assistant/api/).