bug?

codesnik Jun 14, 2011 1 thank

beware, update_all silently ignores :limit and :order option in 3.0.8.

I've fixed my code temporarily with

update_all "foo=1 where #{myscope.where_values} limit 1"

Generalized Zip

syborg Jun 13, 2011

My 5 cents.

I find trully useful this. Is a kind of generalized zip. You can combine 2 or more enumerables (arrays or others) of any size into a hash, array of arrays, .... The size of the result is the size of the bigest of the enumerables. For the shortests enumerables nil elements are used at t...

Don't Use to_formatted_s(:db) on an Array of IDs

joshuapinter May 26, 2011

I thought using to_formatted_s(:db) on an array of ids would separate them with commas in a nice way. Wrong. It does, but it also changes the numbers. === Wrong [60, 271, 280, 283].to_formatted_s(:db) # => "121,543,561,567" # Completely different numbers!

Instead, use the join...

must be first

dalupus May 24, 2011 2 thanks

A little gotcha I ran into.

This must be defined before you define your relationships.

ie: class Ticket < ActiveRecord::Base set_table_name 'ticket' belongs_to :customer has_one :account, :through => :customer end

if you do the relationships first it will not use the correct t...

Using New

thewinner May 6, 2011

-rails new ProjectName -switch directories -git repo "git init", then commit -add gems, bundle install -rails g scaffold TableName attribute:type attribute:type….. -authentication -add attribute_accessible/relationships/validations -get rid of index.html in public, set root "table#index" -rails g ni...

Backport from 1.9

eric_programmer Apr 28, 2011 1 thank

Below is a backport of the Ruby 1.9 implementation (minus some encoding stuff). The main thing this provides you is the ability to say :foo => ['bar', 'baz'] and have that turn into foo=bar&foo=baz (i.e. multiple values for the same key).

Just require into your project and use it like you are on 1....

Careful when comparing strings

emime Apr 22, 2011

Input String is treated as Regexp:

"*test*".should match "*test*" #=> fail
"*test*".should match ".*test.*" #=> pass

Regexp special characters inside input String can't [be] escaped:

"test".should match "\test\" #=> fail "test".should match /\test\/ #=> pass

Eql equals ==

emime Apr 22, 2011

Use eql to compare values as you would use ==:

"test".should eql "test" #=> pass
"test".should == "test" #=> pass

Do not confuse with equal which compares objects.

Test strings with eql

emime Apr 22, 2011

Equal fails when comparing two different string objects:

"test".should equal "test" #=> fail "test".should match "test" #=> pass "test".should eql "test" #=> pass

In fact:

"test".object_id.should_not eql "test".object_id #=> pass

Match fails when the string contains regex special characte...