Recently, Takeru Sasaki was able to patch the Rails 2.3.5 calls to rubygems, and now we have it working on App Engine. He also created a datastore adapter called TinyDS. I just created an integration plugin called Rails_TinyDS that provides certain ActiveRecord method calls for Rails 2.3.5 generated scaffold.
See the DataMapper version also: gist.github.com/268192
The gems for the development environment include a pre-release appengine-tools gem that provides a pre-release version of jruby-rack.
sudo gem install google-appengine
Create a folder for your app
mkdir rails_app; cd rails_app
Download and run the setup script
curl -O http://appengine-jruby.googlecode.com/hg/demos/rails2/rails2_td_appengine.rb ruby rails2_td_appengine.rb
Start development server
dev_appserver.rb .
Open local console
appcfg.rb run -S irb -r config/environment
Publish to production
appcfg.rb update .
We disable rubygems in the development environment, and the generators from Rails 2 perform various Gem dependency checks that are too difficult to patch, so we run the generators from the MRI.
sudo gem install rails_tiny_ds activerecord-nulldb-adapter
Generate a restful controller and add it to config/routes.rb
./script/generate scaffold article title:string summary:text url:string \ -f --skip-migration
Generate a model for TinyDS
./script/generate td_model article title:string summary:text url:string -f
You’ve created a RESTful controller, and a TinyDS model