[rails 4.1] weird behaviour in rails console? lazy loading of database connection or spring?

I guess I am the only one using it like this, by i regularly start my
rails console to quickly show the column-names of models.

Since 4.1 (afaik), the first call to a class does not return the model
introspection, but instead urges me to use Batch.connection to
establish
a connection???

If I use a specific method to get the column names, I get no error, and
afterwards the class introspection just works.

Of course this is no biggie, but I am curious what the cause is of the
this
behaviour, whether this is intended or not, and how I could circumvent
it.

Example console output:

Loading development environment (Rails 4.1.0)
 :001 > Batch
 => Batch (call 'Batch.connection' to establish a connection)
 :002 > Batch.column_names
 => ["id", "name", "batch_nr", "revision", "comments", 
"batch_status_id",
"created_at", "updated_at"]
 :003 > Batch
 => Batch(id: integer, name: string, batch_nr: string, revision: string,
comments: text, batch_status_id: integer, created_at: datetime, 
updated_at:
datetime)

Any tips or hints would be greatly appreciated.

On Wed, Apr 23, 2014 at 7:01 AM, nathanvda [email protected] wrote:

Since 4.1 (afaik), the first call to a class does not return the model
introspection, but instead urges me to use Batch.connection to establish a
connection???

Of course this is no biggie, but I am curious what the cause is of the this
behaviour, whether this is intended or not, and how I could circumvent it.

I’ve noticed that, and it seems like a bug to me, but I haven’t had the
time to investigate.

That said, this behavior doesn’t occur when using pry for the Rails
console, so just one more reason to make that standard :slight_smile:

FWIW,

Hassan S. ------------------------ [email protected]

twitter: @hassan

I got the same behaviour in Rails 4.0.8