I wanted to try out IronRuby running rails.

I was following the
http://ironruby.net/Documentation/Real_Ruby_Applications/Rails tutorial
using the sqlite instructions.

I began writing my tests and found that I was not able to assign a object to
a belongs to relationship and have it persist to the sqlite3 database
correctly.  On investigation I found that the sql being generated did not
have the correct ID.  It was using .inspect instead of the value of the ID
for my object.

Creation of the Post:
Post Create (31.3ms)   INSERT INTO "posts" ("name", "submitted_by",
"phoned_in", "category_id", "completed_at", "created_at", "updated_at")
VALUES('', '', NULL, 0, NULL, '2010-05-18 10:59:32', '2010-05-18 10:59:32')

Looking up the category to assign:
Category Create (0.0ms)   INSERT INTO "categories" ("name", "created_at",
"updated_at") VALUES('Cat 1', '2010-05-18 10:59:32', '2010-05-18 10:59:32')

Assigning the post.category = category:
Post Request Update (15.6ms)   UPDATE "posts" SET "category_id" = '*---
!ruby/object:System::Int64 {}*', "updated_at" = '2010-05-18 10:59:32' WHERE
"id" = '*--- !ruby/object:System::Int64 {}*'

Loading the post back from the db.
Post Load (0.0ms)   SELECT * FROM "prayer_requests" WHERE
("prayer_requests"."id" = 1)
Category Load (0.0ms)   SELECT * FROM "categories" WHERE ("categories"."id"
= 0)

As you can see above the ID is never set correctly and since sqlite just
jams strings into integer fields as 0 it tries to look up a category with an
id of 0.

I was wondering if anyone has seen things like this in ActiveRecord with
IronRuby?


I'm running.
$ ir --version
IronRuby 1.0.0.0 on .NET 2.0.50727.3607

$ ir -S gem list

*** LOCAL GEMS ***

actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activerecord-sqlserver-adapter (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
rack (1.0.1)
rails (2.3.5)
rake (0.8.7)
sqlite3-ironruby (0.1.1)


If there is a better list to post to please let me know I'll redirect my
question there.

Kevin
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to