`build_association` produces DB-queries

Let User.has_one :profile. I’ve always thought that
@user.build_profile
is a cheap thing to do - it’s just creating a new object without
persisting
it. But, in fact, it does 2 queries to the DB: BEGIN and COMMIT.

In my app I have an admin users#index page where users’ details can be
edited, and to simplify the code I build a profile whenever it’s nil,
so
I get 2 queries for each user, which increases the page load time by a
factor. So I’d like to know if this is a bug in Rails worth fixing or
that
transaction is really necessary when building an association?

Thanks,
Roman

On Saturday, July 28, 2012 6:08:48 PM UTC+1, Roman wrote:

Let User.has_one :profile. I’ve always thought that
@user.build_profile is a cheap thing to do - it’s just creating a new
object without persisting it. But, in fact, it does 2 queries to the DB:
BEGIN and COMMIT.

I’ve never seen this before. Is there anything interesting about your
profile class ?

Fred