New record doesn't appear in db yet rails shows save success


#1

This is a first for me so bear with the example.
Simple 2 model application with simple relationship between the two
models.

Models:
Transaction “has_many :steps”
Step “belongs_to :transaction”

Database tables:
transactions (id:integer, name:string)
steps (id:integer, transaction_id:integer)

So based on this I can create a new transaction in the database no
problem. When I try to create a new step for that transaction, rails
reports NO error, no excpetions (even with @step.save!), or any other
problems during the “CREATE” yet the database doesn’t show the new
record.

I’ve even validated that the save routine executes, yet the development
log doesn’t show the actual “INSERT” statement. It seems to skip the
insert.

If I comment out the relationship everything works fine. I’d like to be
able to use scope when referencing objects so this is very annoying.

What gives? Is it my choice of names for my models? I haven’t been
able to find anything that shows my model names are in conflict with a
protected keyword (I know transaction is technically an active record
method)

Help!


#2

Transaction is a reserved word:

http://wiki.rubyonrails.org/rails/pages/ReservedWords

Try changing the name of your model.

Regards,
Craig


#3

On 16 Jan 2009, at 00:09, Craig D. wrote:

Transaction is a reserved word:

http://wiki.rubyonrails.org/rails/pages/ReservedWords

Try changing the name of your model.

It’s not so much that Transaction is a reserved class name but that
transaction is a reserved method name (not in 2.3 and higher)

Fred