[Seaside] Rolling with Ruby on Rails vs. Seaside

James Megquier jmegq at post.harvard.edu
Sun Jan 30 00:33:42 CET 2005


Fascinating discussion; I tried to build a project in Seaside earlier 
last year, but have switched to Rails for the time being.  I do plan to 
come back to Seaside (because it rocks) -- but among my friends and 
co-developers, Rails is much easier to comprehend if one is unfamiliar 
with Smalltalk.

[It's also been much easier to convince potential clients, especially 
their in-house techies, that Ruby/Rails/PostgreSQL is okay.]

Hopefully, Rails and Seaside will be able to borrow good ideas from 
each other.  In addition to a lot of "sensible defaults," Rails offers 
you a trade-off: obey these simple conventions, and the framework will 
give you a lot of help.  It may vex the purist in me, but it is 
remarkably effective.  (Come to think of it, that summarizes my feeling 
about Ruby vs. Smalltalk... ;-)

I just wanted to respond to this comment:

> So, if you want to "create" a new Person object, then click on "add 
> phone-number" in the scaffolded "edit" and add some phone-numbers, 
> then go back to the Person object editor and then decide to not click 
> the "Save" button, then that Person object is still in the database 
> (as it was required to save it to the db before you can add a 
> phone-number to it).

As of Rails 0.9.4, (about two weeks ago) you could persist the unsaved 
person into a "session" variable while you called phone-number/edit, 
and then save or cancel the whole thing back on the New Person page.  
I.e. you can now create associations among unsaved objects (and they 
get saved correctly at the end), but since there are no continuations, 
you still have to persist the unsaved object somewhere across pages.

BTW, I don't think it would be too hard to add automatic scaffolding to 
Rails for the non-simple columns (the associations and aggregations 
mentioned earlier); not sure why no one's done it yet. Often the 
scaffolding is temporary anyway, quickly replaced with custom-written 
code.

Cheers,
-James



More information about the Seaside mailing list