Episodes tagged with “plugins”
Learn how to easily add a user activity feed using the public_activity gem. Here we show both the default setup using model callbacks and a manual way to trigger activities.
The ActiveModel::Serializers gem can help you build JSON APIs through serializer objects. This provides a dedicated place to fully customize the JSON output
Importing CSV and Excel Other translations:
Allow users to import records into the database by uploading a CSV or Excel document. Here we show how to use Roo to parse these files and present a solution for validations
Rails has great internationalization (I18n) support making it easy to translate static text into other languages, but how do we translate database content? Learn how using Globalize 3 in this episode.
Copycopter provides a nice interface that clients can use to edit the text in a Rails application. Learn how to deploy a Copycopter server using Heroku and integrate it in a Rails application through I18n.
Compass improves the Sass experience by providing useful mixins, functions, and more. You will also learn how to make CSS sprites with it in this episode.
If you need to quickly create an informational site that can be easily edited, consider using a content management system. Here we show how to build a site using Refinery CMS.
If you are tired of the browser vendor prefixes in CSS, take a look at Bourbon. It provides Sass mixins and functions to make CSS more convenient.
ActiveAttr provides what Active Model left out. If you need to create a table-less model with features similar to Active Record, read this episode.
With the release of OmniAuth 1.0 there is a new Identity strategy which allows users to register/login with a password if they don't want to use an external provider.
Getting Started With Spree Other translations:
Spree allows you to quickly turn a Rails project into a full eCommerce application. Here we show how to set it up and configure the look and feel of the store.
Mercury Editor Other translations:
Mercury allows you to edit a section of HTML directly in the web browser through a WISYIWYG editor. Here we show how to integrate Mercury into a Rails app and save the changes back to the database.
Playing With PJAX Other translations:
PJAX allows you to quickly update a section of a page using AJAX with automatic pushState support. Here we show how to use both pjax_rails and rack-pjax gems.
SOAP With Savon Other translations:
Communicating with a SOAP API can be a daunting task. Savon makes this easier by presenting the SOAP API through a Ruby interface.
Draper Other translations:
Clean up complex view logic using Draper. This gem provides decorators (much like presenters) which bundles view logic in an object oriented fashion. In this episode we do a step-by-step refactoring of a complex template into a decorator.
Spork Other translations:
Spork improves the loading time of your test suite by starting up your Rails application once in the background. Use it with Guard for the ultimate combo in fast feedback while doing TDD.
Active Admin Other translations:
Active Admin allows you to quickly build an admin interface with just a few commands. Not only does it look great, but it is very customizable as shown in this episode.
Authentication With Sorcery Other translations:
Sorcery is a full-featured, modular solution to authentication which leaves the controller and view layers up to you.
Pry With Rails Other translations:
Pry is an alternative to IRB and sports many great features. Here we show how to integrate it into a Rails app, and how it can aid in debugging.
Search With Sunspot Other translations:
Sunspot makes it easy to do full text searching through Solr. In this episode we show how to search on various attributes and add facets for filtering the search further.
Testing Time & Web Requests Other translations:
It can be difficult to test code that deals with the current time or an external web request. Here we show you how to do both using the Timecop and FakeWeb gems.
Geocoder Other translations:
If you need to work with geographic data, Geocoder is an excellent gem for converting addresses and coordinates, finding nearby locations, determining distances, and more!
Markdown with Redcarpet Other translations:
Redcarpet is an easy-to-use gem which interprets Markdown. In this episode we show how to customize it and add syntax highlighting through Pygments and Albino.
Resque Other translations:
Resque creates background jobs using Redis. It supports multiple queue and comes with an administration interface for monitoring and managing the queues.
Client-side Validations Other translations:
Showing validation errors inline as the user is filling out the form can lead to a better use experience. Learn how to do this using the Client Side Validations gem.
Trees With Ancestry Other translations:
The Ancestry gem works like a tree but also allows us to fetch deeply nested messages in a single query. It provides a method to arrange them after fetching.
Messaging With Faye Other translations:
Faye is a subscription/publishing server which makes it easy to do push notifications within a Rails app.
Decent Exposure Other translations:
he decent_exposure gem makes it convenient to share controller data with the view through methods instead of instance variables.
Token Fields Other translations:
With the jQuery Tokeninput plugin it is easy to add an autocompleting list of entries for a many-to-many association.
Request Specs and Capybara Other translations:
Undo With PaperTrail Other translations:
Undo and redo behavior is easy to add with a versioning gem such as Paper Trail. Learn how to add an undo link to any model's flash message.
Pagination with Kaminari Other translations:
If you need pagination in Rails 3 try out Kaminari. It is a clean, flexible solution which uses scopes to flow nicely with Active Record queries.
CarrierWave File Uploads Other translations:
CarrierWave makes it easy and clean to add file uploads to your application. It supports a variety of ORMs, frameworks and image processors.
MetaWhere & MetaSearch Other translations:
MetaWhere provides a way to do complex find conditions without SQL in Active Record. MetaSearch makes it easy to create search forms with many find options.
Offline Apps Part 2 Other translations:
Learn how to make a site usable offline with HTML 5 localStorage. This last part of the series covers jquery-tmpl and jquery-offline.
Offline Apps Part 1 Other translations:
Learn how to make a site usable offline through an HTML 5 cache manifest. This first part of the series covers rack-offline and problems you may run into.
Beanstalkd and Stalker Other translations:
Beanstalk is a fast and easy way to queue background tasks. Stalker provides a nice wrapper interface for creating these jobs.
Simple OmniAuth Other translations:
OmniAuth makes it easy to add authentication if you don't need username/password or multiple authentications per user.
Mongoid Other translations:
Mongoid is a polished, high-level Ruby gem for accessing MongoDB. Here we cover installation, adding fields, validations, associations, and keys.
OmniAuth Part 2 Other translations:
In this episode we continue our look at integrating OmniAuth with devise.This time we show how to set up new users with validations.
OmniAuth Part 1 Other translations:
OmniAuth is an easy way to add many different authentication services to your app. In this episode we start integrating it with Devise.
Simple Form Other translations:
Simple Form is a convenient way to generate forms with many options to customize the generated markup.
Engage With Devise Other translations:
Janrain Engage (aka RPX) makes it easy to support many authentication solutions through one service.
Inherited Resources Other translations:
Inherited Resource simplifies RESTful controllers by providing default actions which can be customized through inheritance.
Upgrading to Rails 3 Part 3 Other translations:
In this episode we finish up this upgrade series by removing all deprecation warnings and fixing some problems in the view.
Upgrading to Rails 3 Part 2 Other translations:
Here we continue upgrading an application to Rails 3 by getting our specs up and running and going through the rails_upgrade plugin.
Upgrading to Rails 3 Part 1 Other translations:
In the first part of this series on upgrading a Rails 2 application to Rails 3, we'll start off by setting up Rails 3.0 Release Candidate in a clean environment. The rails_upgrade plugin will then help us determine what needs upgrading.
PDFkit Other translations:
Generating PDFs in plain Ruby can be a lot of work. Instead, consider generating PDFs from HTML using PDFKit.
Generators in Rails 3 Other translations:
Generators in Rails 3 have been completely rewritten to be more modular. This allows you to customize any generator to fit your specific preferences.
A/B Testing with A/Bingo Other translations:
A/B Testing (or Split Testing) is a way to experiment with variations in an application to see the most effective option.
Calendars Other translations:
If dates play an important role in your application, consider adding a date picker or calendar view as shown in this episode.
Customizing Devise Other translations:
In this episode we continue looking at devise with a focus on customizing its views, routing and validations.
Introducing Devise Other translations:
Devise is a full-featured authentication solution which handles all of the controller logic and form views for you. Learn how to set it up in this episode.
Syntax Highighting Other translations:
Three popular choices for syntax highlighting in Rails applications are discussed in this episode: CodeRay, Ultraviolets and Pygments.
Bundler Other translations:
Bundler is the way to manage gem dependencies in Rails 3.0. Learn how to install gems and lock them down in this episode.
Mobile Devices Other translations:
In this episode we change the look and behavior of a Rails app on mobile devices and use jQTouch to build a native-looking interface.
MongoDB and MongoMapper Other translations:
MongoDB is a document-based database engine. Learn how to use it in Rails application with Mongomapper in this episode.
Authorization with CanCan Other translations:
CanCan is a simple authorization plugin that offers a lot of flexibility. Find out how to use it in this episode.
Declarative Authorization Other translations:
Declarative authorization provides an advanced and powerful solution for role-based authorization
Pickle adds a number of convenient Cucumber steps for generating models. Learn how to use Cucumber's table diffs as well.
Formtastic Part 2 Other translations:
In this episode we cover some of Formtastic's more advanced features, including its handling of many-to-many relationships, required fields and styling.
Formtastic Part 1 Other translations:
Formtastic provides a concise way to generate form views. In the first part of this two-part series we use it to generate a simple form and a more complex, customised one.
Cropping Images Other translations:
In this episode we create a slick user interface for cropping images using Paperclip and JCrop.
Gems are now a more popular way of extending Rails than plugins. In this episode we go through the steps needed to create a basic gem.
Finding Unused CSS Other translations:
As websites change stylesheets can become filled with unused selectors. The Deadweight gem helps to determine which ones can be removed.
Model Versioning Other translations:
If you need to keep track of the changes to an ActiveRecord model and switch between versions the Vestal Versions gem is well worth considering.
Making a Plugin Other translations:
Duplication can often be removed from your Ruby code by making methods dynamically. In this episode we make a plugin to do just that.
Searchlogic uses named scopes to make searching against models simple. See how to create simple and more complex searches in this episode.
AJAX History and Bookmarks Other translations:
AJAX-enabled sites do not usually play well with bookmarking or the brower's page history. In this episode we fix that with a simple jQuery plugin.
Screen scraping is sometimes the only way to get data from another website. This episode uses scrAPI to fetch prices from another site.
Delayed Job Other translations:
The delayed_job plugin provides an excellent way of getting long running tasks running in the background.
This episode extends the appication built in episode 160 and shows how to add OpenID support to a Ralis application that uses Authlogic.
Feed Parsing Other translations:
In this episode we use two different techniques to parse an RSS feed with Feedzirra.
Cron does a great job of handling recurring tasks, but the syntax is a little tricky. This episode shows you how to use Whenever to write cron jobs in Ruby instead.
The acts_as_tree plugin provides a good solution for handling a tree-based navigation. In this episode we build a navigation system with menus, subpages and a breadcrumb control.
Authlogic Other translations:
Authentication can become very complex. This episode shows how to use Authlogic to handle this complexity while keeping control over what is presented to the user.
Using Webrat allows you to write integration tests in Ruby, rather than in English as you would with Cucumber.
Paperclip Other translations:
Paperclip makes it easy to add attachments to a model. Find out how in this episode.
Beginning With Cucumber Other translations:
Cucumber is a testing framework that lets you develop with Behaviour-Driven Development. We develop a new application using BDD in this episode.
With Prawn and Prawnto you can easily generate PDF files in your Rails application.
Rails Engines Other translations:
Rails 2.3 has most of the Rails Engine plugin built in. Find out how to embed one application into another.
Find out how to create a drag and drop list using prototype and one of Rails’ helper methods.