I've released the latest version of my Scaffolding Extensions plugin,
which is the first version with support for Ramaze. Thanks to
Jonathan Buch for his help in understanding some of Ramaze's internals
and making this release possible.
Scaffolding Extensions provides a powerful and simple to use
administrative interface to perform common actions on models. It has
the following features:
* Creates pages for browsing, creating, deleting, displaying,
updating, searching, and merging records
* Choose which fields are displayed in the scaffolds and in which
order
* Handles associated records for common one-to-many, many-to-one, and
many-to-many associations.
* Extensive support for modifying the display and working of the
plugin
* Advanced features such as access control, autocompleting, and eager
loading
Scaffolding Extensions is not a code generator, and isn't really
scaffolding at all, as you are not expected to modify the output.
Instead, you use configuration options inside the model to control the
display of the pages. The scaffolding analogy is misleading,
Scaffolding Extensions is not really scaffolding--it is a completely
functional structure that you can easily modify to better suit your
needs.
I recommend adding Scaffolding Extensions to the root of the Ramaze
application, though any subdirectory should work.
Assuming you are using the recommended defaults (e.g. models are
located in model/*.rb), add the following to your runner (e.g.
start.rb):
$:.unshift('scaffolding_extensions/lib')
require 'scaffolding_extensions'
If your models are located somewhere else, it is easiest to let
Scaffolding Extensions know about them manually (this is only
necessary if you are using scaffold_all_models without :only):
ScaffoldingExtensions.all_models = [Model1, Model2, Model3]
You should add this code after your models have been loaded but before
your controllers have been loaded.
Then, inside a controller:
scaffold_all_models
Go to the root of the controller for links to pages to manage each of
the models.
Currently, Scaffolding Extensions only supports the ActiveRecord ORM.
There is a clearly defined interface for the plugin to interact with
the ORM (see doc/model_spec.txt), so if you want to add support for
other ORMs (e.g. Sequel or Datamapper), please let me know and maybe
we can work on it together.
Feel free to contact me at
co...@jeremyevans.net if you have any
questions about Scaffolding Extensions.
You can get Scaffolding Extensions via subversion or as a tarball:
* svn: svn://
code.jeremyevans.net/rails-plugins/scaffolding_extensions
* file:
http://code.jeremyevans.net/code/scaffolding_extensions.tar.gz
* RDoc:
http://code.jeremyevans.net/doc/scaffolding_extensions
Thanks,
Jeremy