# Ruby web ap FUD

**URL:** <https://www.ruby-forum.com/t/ruby-web-ap-fud/71689>\
**Category:** Ruby\
**Created:** [October 10, 2006, 9:26pm UTC](https://www.ruby-forum.com/t/ruby-web-ap-fud/71689 "2006-10-10T21:26:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [October 10, 2006, 9:26pm UTC](https://www.ruby-forum.com/t/ruby-web-ap-fud/71689/1 "2006-10-10T21:26:55Z")

</div>

I got the following internal email this morning; and  
because I’ve only dabbled in Camping, Rails, and web aps  
in general–I’m a floating-point number cruncher guy–I  
thought I’d run it pass you before responding:

I’m working on archiving […] data for [a] project,  
and [the Principal Investigator] mentioned using Ruby  
as opposed to straight perl cgi. I am a “data modeler”  
and have just branched into the perl cgi arena, due  
to [staffing issues]. (Basically, they don’t have web  
programmers that can do anything other than ColdFusion).

Anyway, I would like to meet with you to talk about Ruby  
and it’s pros/cons in general, and possibly in relation  
to the project [mentioned above].

I have heard that Ruby on Rails is only “easy” if your  
data model/schema is simple, and you only present one  
table’s worth of info on a form. I’ll bring a copy of  
the E-R diagram to discuss, if that will help in determining  
in Ruby is the right language to use for this application.

I also have the forms defined in html (used these for working  
with [the PI] in determining what metadata to capture). It  
looks like I would have to “redo” all the html to use Ruby  
methods?

I’m also interested in the “security” aspects of using Ruby.  
PHP (as opposed to ColdFusion) has been identified as having  
too many security issues and therefore not encouraged here,  
so I’m curious about Ruby/Ruby on Rails…

Oh, and the database is implemented in Postgres.

Thanks in advance for any light you can shed.

Regards,

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [October 10, 2006, 9:38pm UTC](https://www.ruby-forum.com/t/ruby-web-ap-fud/71689/2 "2006-10-10T21:38:58Z")

</div>

On 10/10/06, Bil K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Thanks in advance for any light you can shed.
> 
> ## Regards,
> 
> Bil K.  
> [http://fun3d.larc.nasa.gov](http://fun3d.larc.nasa.gov)

Completely off topic, but I just checked out your fun3d webpage and  
luaghed out loud at the little “powered by rails” badge at the bottom.  
Thanks for bringing a smile to a mildly depressing day 🙂

TwP

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [October 10, 2006, 10:29pm UTC](https://www.ruby-forum.com/t/ruby-web-ap-fud/71689/3 "2006-10-10T22:29:06Z")

</div>

On Wed, 11 Oct 2006, Eero S. wrote:

> On 2006.10.11 04:25, Bil K. wrote:

> The only problem you are likely to encounter is fitting your  
> existing schema to fit AR’s model if going with Rails (and  
> not replacing AR at the backend).
> 
> Remember, though, to mention Nitro and IOWA also. Both have  
> ORMs that work better with legacy database schemas.

IOWA is completely ORM agnostic. I use Kansas because I like the query  
model, but one could just as easily use Og, or even AR (if AR were  
threadsafe).

> > I also have the forms defined in html (used these for working  
> > with [the PI] in determining what metadata to capture). It  
> > looks like I would have to “redo” all the html to use Ruby  
> > methods?

In general, the answer is somewhere between “No” to “Only very  
slightly”.

> > I’m also interested in the “security” aspects of using Ruby.  
> > PHP (as opposed to ColdFusion) has been identified as having  
> > too many security issues and therefore not encouraged here,  
> > so I’m curious about Ruby/Ruby on Rails…

I can only speak to security with IOWA, but mostly it boils down to  
whether the application developer does things that will open a hole, and  
the most likely thing there is doing something unsafe with input from  
a form. And I think that’s generally the situation with other Ruby  
frameworks. There was a security issue with earlier versions of Rails,  
but that was fixed over the summer, and details are readily found via  
your  
favorite search engine.

Kirk H.  
Waiting for Rubyforge to come back to push IOWA 0.99.2.17 up to it.

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [October 10, 2006, 9:40pm UTC](https://www.ruby-forum.com/t/ruby-web-ap-fud/71689/4 "2006-10-10T21:40:59Z")

</div>

On 2006.10.11 04:25, Bil K. wrote:

> programmers that can do anything other than ColdFusion).
> 
> Anyway, I would like to meet with you to talk about Ruby  
> and it’s pros/cons in general, and possibly in relation  
> to the project [mentioned above].
> 
> I have heard that Ruby on Rails is only “easy” if your  
> data model/schema is simple, and you only present one  
> table’s worth of info on a form. I’ll bring a copy of  
> the E-R diagram to discuss, if that will help in determining  
> in Ruby is the right language to use for this application.

The only problem you are likely to encounter is fitting your  
existing schema to fit AR’s model if going with Rails (and  
not replacing AR at the backend).

Remember, though, to mention Nitro and IOWA also. Both have  
ORMs that work better with legacy database schemas.

> Oh, and the database is implemented in Postgres.  
> Nonissue, whether though DBI, native drivers or an ORM.

> Thanks in advance for any light you can shed.

You probably want to push this to the Rails list, they  
are always happy to defend their implementation.
