what's your rails wishlist?

Wish list:

1. validates_presence_of that actually works for bools (false and true allowed for input, nil not allowed)

Amen.

Another wish would be the function ar_instance.save_guaranteeing_these_arent_blank(:name, :phone) (or does it exist)

quick hack:

class ActiveRecord::Base def save_unless_missing *args   self.errors.clear   passed = true   for arg in args    val = self[arg]    unless val and val != ''      self.errors.add arg, " cannot be blank"     passed = false   end end # could add a call to validate in here return nil unless passed return save end end

Except that it actually worked with the validates_x_of or what not. Cheers. -Roger

You might find some of the custom validators I wrote tobe useful. They've also been modified to allow many of the appropriate UTF-8 characters. (download link is at the bottom of the article)

http://www.railsdev.ws/blog/11/custom-validations-in-rails/

Stupid WordPress recently smashed all line endings, so the code views are mangled a bit. :frowning:

Stupid WordPress recently smashed all line endings, so the code views are mangled a bit. :frowning:

Ugh I hate it when wordpress does that--especially when you modify an existing comment. Boo! Thanks! -Roger

My major wishes for rails are three big points:

1) A really simple, fast deployment option, although I am doing alright with capistrano + nginx + mongrel cluster, I just think a very simple system would be awesome. Although Heroku and Switchpipe are both shaping up as options on that front.

2) Better documentation. I am disappointed that as a community we really do a poor job of online documentation. My favorite that I have found by far is:

http://www.railsbrain.com/api/rails-2.0.2/doc/index.html

I love it and it is quite good as far as interface and searching is concerned. I just wish as a community we did a better job of having every method properly documented with a quick summary, all possible input values, the output, side-effects and samples. I admit books such as "Rails Way" and "AWDR" do a good job though of filling this gap.

3) Speed and Concurrent Requests. I am very interested in Thin as far as basic speed boosts go but there is a lot of cruft in rails that slows it down. Just simple garbage collection fixes recently revealed can speed up rails significantly. As a community, we need to do a better job of reviewing and refactoring old code and speeding it up. Specifically in terms of the routing system, the garbage collection, active record queries, etc. I also wanted to mention the hope of having a multi-threaded ActiveRecord one day which would allow concurrent requests similar to the work being done with Merb.

I would like to mention that Merb is a very interesting budding alternative. Merb + Datamapper could shape up as a viable rails alternative within the next couple years.

Just better API docs. Rdoc doesn't do it. In fact, it blurs the line between internal Rails code and things you are supposed to use.

There are 4 places in Rails I like to put api calls: Model, View, Controller and Console. Given an arbitrary helper, say, I'd like to know whether I have access to call it in those 4 places. From the documentation.

F

3) Speed and Concurrent Requests. I am very interested in Thin as far as basic speed boosts go but there is a lot of cruft in rails that slows it down. Just simple garbage collection fixes recently revealed can speed up rails significantly.

which are you referring to?

Yeah my wish would be rails that could just 'meld' with 1.9 to be super fast. And fast startup time so that if you use cgi you're ok (then the deployment problem is...less). Ideally for deployment I guess would be mod_rails that loads 'rails' itself then for each request it forks, goes and reads the app's configs, and processes the file (and this is fast). Ahhh. wishing is always so easy :slight_smile: Thoughts? -R

Roger Pack wrote:

Another wish would be the function ar_instance.save_guaranteeing_these_arent_blank(:name, :phone) (or does it exist)   

For that last one, validates_presence_of does it.