Ruby on Rails is a full-stack MVC framework for database-backed web applications that's optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration.

From the Ajax in the view, to the request and response in the controller, to the domain model wrapping the database, Rails gives you a pure-Ruby development environment. To go live, all you need to add is a database and a web server.

Journal Entries

Avatar

I love zentest 's autotest when it works. Every code change I make is intelligently and quickly run against my rails unit tests, and a notification appears in a pop-up window (via integration with growl). I know this is old news, but I'm just experiencing it again on a new project and it makes staying in a TDD-driven coding "zone" possible. andy — about 1 month ago

Avatar

conundrum: Phusion passenger docs say that apache's mod_rewrite is slow but I want to do the friendly thing and redirect (301) requests that were sent directly to the downstream webservers back to our canonical website. Ohloh used to do this with a mongrel.conf similar to the one posted here: http://noobonrails.blogspot.com/2006/09/good-seo-mojo-with-rails.html. Hopeful solution: To preserve the speed-up in Passenger given by PassengerHighPerformance, I port this mongrel specific fix into a rails before_filter. andy — 3 months ago

Avatar

grrr - deploying rails 2.2 requires an updated ruby-postgres driver, which, in turn, is requiring newer rubygems. Btw - rails' "official" postgres driver is ruby-pg jason — 5 months ago

Avatar

note to self: when reading rails nutty "assert_tag" documentation leaves u confused, remember that it was deprecated in favor of assert_select. jason — 7 months ago

Avatar

Be careful the ruby idiom for memoization (http://en.wikipedia.org/wiki/Memoization) if you might have false or nil a result of the calculation you're cachine.  For example: def hot_spot; hot_spot ||= slow_calculation; end  fails to cache as expected when slow_calculation returns nil or false.  Apps on edge rails can require 'active_support/memoizable' (see http://github.com/rails/rails/commit/8a9934a9d9fc98b56c4566ae2e3fd4d83e505d3e) or do something like def hot_spot; return hot_spot if defined?(hot_spot); hot_spot = slow_calculation; end andy — 8 months ago

See All Journal Entries


Ratings & Reviews

Community Rating
4.3/5.0

Based on 165 user ratings.

Your Rating

Click to rate this project.

4 months ago Avatar
Come on, folks...

    by Marnen Laibow-Koser

Rails certainly isn't perfect, but it's an excellent Web framework, due in large part to the power of the Ruby language. And most of the problems in the other reviews were bogus when they were written a year ago -- let alone now.

Eball said:
> No compiler means that you get to remember all the code in your head

Huh? No, no compiler means that there's no compiler. That's *all* it means. I've worked with Web frameworks in ... [More] Java, and I really don't see a single advantage to compilation -- in fact, with a compiler, you have to keep in your head that the code you're editing may not be the code you're running.

> All queries are select * by default, therefore having any large objects in your database hold up app processing....you can tune your queries.

This would be a big problem -- except that, as Eball points out, you can tune your queries. It's easy to specify particular fields if you really want to. So what's the problem?

> Performance mgmt you are searching for a needle in a pile of needles...

This is true to some extent...

> soo many little problems with their uber-terse syntax.

I'm not sure how this is related to performance management.

> No threading...now this is fun...who needs threads?

Blame that on Ruby, not Rails. That's why multiple server processes have become common for serving Rails.

> Rails is a toy...a craft....not a science.

*All* programming is part craft and part science. Rails certainly isn't a toy; in my experience, the people who think it is generally have not really used it sufficiently. (People who have used Rails in depth, on the other hand, may not *like* it, but they generally don't think it's a toy.)

> if you are a junior of senior..use a real compsci language.

This, more than anything else here, points to the fact that Eball doesn't know what he or she is talking about. Ruby is far closer to being a "real compsci language" than Java, or C++, or just about anything else in common use except Lisp and Smalltalk -- and Ruby has more of a real-world ecosystem surrounding it than either of those two, which makes it easier to work with for many applications.

[Less]

1 of 1 users found the following review helpful. Was this review helpful to you? |

over 2 years ago Avatar
Overrated. Difficult to maintain with time...

    by rubio_real

... once you leave the initial development track. Localization and Unicode have just arrived, but there's a lot of work to do until it's ready for prime time...

8 of 29 users found the following review helpful. Was this review helpful to you? |

Links

2 links submitted so far. Submit your own links.

News

Edit RSS feeds.

Read all Ruby on Rails articles…

Download Page
71 downloads

Who uses Ruby on Rails?

Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar

Who contributes to Ruby on Rails?

Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar
I'm a contributor

Who manages Ruby on Rails?

I'm a manager

Where in the world?




People who use Ruby on Rails also use:


Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 136,014
Effort (est.) 35 Person Years
Avg. Salary $ year
$ 1,909,562