jMaki on Rails For Dummies
Posted by arungupta on May 17, 2007 at 2:33 PM EDT
Craig
announced jMaki
on Rails. Here I provide detailed steps to read data from a
MySQL database and display it in a jMaki-wrapped
Yahoo
DataTable widget.
- Download NetBeans 6.0 M9 (Full version) and configured to install only "Base IDE", "Java IDE", "Web and Java EE" and "Ruby" modules. A cutting-edge build can be obtained from the hudson build.
- Download and install
jMaki
plug-in in NetBeans update center.
- In NetBeans '
Tools', 'Plugins', select 'Downloaded', click on 'Add Plugins ...'. - Select the downloaded .NBM module, click on 'Install'. This will install the jMaki plug-in and restart the IDE.
- To verify, go to '
Tools', 'Plugins', select 'Installed'. It should show 'jMaki Ajax support' with '1.6.9.7' version number.
- In NetBeans '
- Create a new "Ruby on Rails Application" Project, lets say named '
jmaki_ror'. - Create a new controller by right-clicking the project,
select '
Generate ...', select 'controller', specify the Name as 'jmaki' and Views as 'yahoo'. - jMaki-enable the Rails app
- Open a command prompt and go to your application
directory. Make sure you have a SVN
client configured on your machine.
Then invoke the following commands:
script/plugin source http://jmaki-goodies.googlecode.com/svn/trunk/rails_pluginsThe first step adds the plug-in registry to the list of registries used for searching plug-ins. The second two steps install the core and yahoo plug-ins.
script/plugin install jmaki_core
script/plugin install jmaki_yahoo
- Expand '
Views', right-click on 'layouts', select 'New', select 'Empty RHTML (Embedded Ruby) file ...'. Enter the 'File Name' as 'standard'. This will add 'standard.rhtml' in layouts sub-tree. Enter the following fragment before <body>:
<head>
<%= stylesheet_link_tag "jmaki-standard", :media => "all" -%>
<%= javascript_include_tag "jmaki" -%>
<%= jmaki_setup -%>
</head> - Within <body>, add the following fragment:
<%= @content_for_layout %> - In '
Controllers', 'jmaki_controller.rb', add the following fragment before 'def yahoo' line:
layout "standard"
- Open a command prompt and go to your application
directory. Make sure you have a SVN
client configured on your machine.
Then invoke the following commands:
- Configure the MySQL database
- Create database using the command: '
mysqladmin -u root create jmaki_ror_development'. You need to make sure that the database name in this script is changed to match the project name. - Right select the NetBeans project, select '
Generate', select 'model', specify the arguments as 'grid', click 'OK'. This will generate, in NetBeans project, Database Migrations, migrate,001_create_grids.rb. - Open
001_create_grids.rb, changeself.uphelper method such that it looks like:
def self.up
create_table :grids do |t|
t.column :company, :string
t.column :price, :float
t.column :change, :float
t.column :percent_change, :float
t.column :last_updated, :string
end
end - Right-select NetBeans project, select '
Run Rake Target', 'db', 'migrate'. This generates the database table. Execute the following query to insert data into the table:
insert into grids values (1, 'A Co', 71.72, 0.02, 0.03, 'Jan 1, 2007, 10:00am' );
insert into grids values (2, 'B Inc', 29.01, 0.42, 1.47, 'Feb 1, 2007, 10:00am' );
insert into grids values (3, 'C Group Inc', 83.81, 0.28, 0.34, 'Mar 1, 2007, 10:00am' );
insert into grids values (4, 'D Company', 52.55, 0.01, 0.02, 'Apr 1, 2007, 10:00am' );
- Create database using the command: '
- Add jMaki-wrapped Yahoo DataTable widget
- In NetBeans project, in '
Views', 'jmaki', 'yahoo.rhtml', drag-and-drop 'Data Table' widget from the 'Yahoo' category of jMaki palette.- Until the jMaki data model for grid and data
widgets is consistent between Java and JRuby, you need to replace the
generated code in '
yahoo.rhtml' with the following:
<%= jmaki_widget 'yahoo.dataTable',
:args => {
:columns => [
{ :title => 'Company', :width => 200, :locked => false },
{ :title => 'Price', :width => 75, :renderer => 'usMoney' },
{ :title => 'Change', :width => 75, :renderer => 'change' },
{ :title => '% Change', :width => 75, :renderer => 'pctChange' },
{ :title => 'Last Updated', :width => 85, :renderer => 'italic' }
]
},
:value => @table_data
-%> - '
@table_data' is defined in 'jmaki_controller' in 'def yahoo' as:
def yahoo
@table_data = []
Grid.find_all().each do |data|
@table_data << [ data.company, data.price, data.change, data.percent_change, data.last_updated]
end
end
- Until the jMaki data model for grid and data
widgets is consistent between Java and JRuby, you need to replace the
generated code in '
- In NetBeans project, in '
- That's it, run your app and view the page at '
http://localhost:3000/jmaki/yahoo'. Now jMaki-wrapped Yahoo DataTable widget is picking data from the MySQL database.
And as a next step, you can WAR'up this RoR application and deploy it on GlassFish V2 using these instructions.
Technorati: jmaki rubyonrails ror netbeans mysql glassfish
Related Topics >>
Blog Links >>
- Login or register to post comments
- Printer-friendly version
- arungupta's blog
- 1885 reads






Comments
jMaki on Rails For Dummies
by samuell - 2010-12-14 10:23
I feel lucky I found this resource, I don't know if the instructions are for dummies or not but I am looking forward to implement the software on my system. I just hope I'll be able to handle the registries, I've downloaded a drivercure just in case anything goes wrong. Thanks for sharing!