[ANN] Dojo Toolbocks - v1.0.0 (Ruby on Rails Plugin)

In true engine style, here is a new alternative to the default
javascript libraries that come with Rails. Dojo, the massively
successful and huge repository of established widgets most with
internationalization libraries integrated within now has a golden
pathway into the world of Ruby on Rails.

Here is content from the README, which will give you an idea what’s
included, and even see a few links to the repositories and demos if
you haven’t seen any of the Dojo Toolkit before.


= Dojo_Toolbocks

The Dojo Toolbocks is a superstar plugin (engine) that provides the
functionality to include any of the Dojo Toolkit libraries into your
Ruby on Rails application.



The dependencies are automatically loaded into your application.

For reference they are:

  • Dojo Toolkit v0.4
  • Engines v1.2
  • Rails v1.2.x


  1. script/plugin install dojo_toolbocks

a) If you don’t already have engines installed and configured, then
you will need to modify the /config/environment.rb file. After the
“Rails::Initializer.run” add the following line:

config.plugins = [“engines”, “*”]

  1. Add the following line to the main template
    (/app/views/layouts/application.rhtml) between the opening and closing
tags. Alternatively, you can add it to each individual template as needed.

<%= javascript_include_tag ‘dojo’, :plugin => ‘dojo_toolbocks’ %>

  1. Depending on what libraries you need for the functionality you
    desire, you can use the dojo_require method either as a tag, or as a
    block as shown in a) and b). This method is to be called within the
tag. See ==Usage for examples.


Here is the full rhtml template for using the Dojo
Toolbocks::Slideshow, with debugging enabled.

                   <title>Dojo Toolbocks: Slideshow Demo</title>
                   <%= dojo_config(:debug => true) %>
                   <%= javascript_include_tag 'dojo', :plugin =>

‘dojo_toolbocks’ %>
<%= dojo_require ({:script_tag => true},
“dojo.widget.SlideShow”) %>

<img dojoType=“SlideShow”
imgUrls=“<%= (1…6).map { |n|
image_path(“demos/widget/slideshow/#{n}.jpg”, :plugin =>
“dojo_toolbocks”) }.join(‘;’) %>”
image_path(‘demos/widget/slideshow/1.jpg’, :plugin =>
‘dojo_toolbocks’) %>”
imgWidth=“400” imgHeight=“300” />

a) Debugging

<%= dojo_config(:debug => true) %>

b) Library Inclusion: Tag Style

<%= dojo_require ({:script_tag => true}, “dojo.widget.", "dojo.lang.”)

c) Library Inclusion: Block Style

<% dojo_require ({:script_tag => true}, “dojo.widget.", "dojo.lang.”)
do %>
function somethingUseful(todo) {
// this method does something useful, and is wrapped in the same
script tag as the library includes
<% end %>


Please report any bugs or feature enhancements to



Nathaniel Steven Henry Brown

Toll Free: 1-877-446-4647
Vancouver: 604-724-6624