I have improved the Inequality test in the model template, as requested by JimR. This was another case where it worked well for me, only because I followed the convention that primary keys are named ID, and foreign keys are named SingularOfTable_ID. I know that I should really push the Inequality test into the template, but for now, I have corrected it in the DbFieldInfo class.
Recently, a reader saw my fix for SQL Server booleans, and asked me a followup question: why does Rails display a yes/no selection instead of a checkbox? The short answer is look in {RUBY_HOME} /lib/ruby/gems/1.8 /gems/actionpack-1.10.2 /lib/action_view/helpers, but your path may vary depending on whether you are using gem, "edge rails", etc. Anyway, look in the file "active_record_helper.rb" for a method called "all_input_tags", and notice that it calls "default_input_block" if you don't supply an input_block. Now notice that "default_input_block" creates a label and calls "input(record, column.name)" which in turn calls "InstanceTag#to_tag" which finally looks at the datatype and maps boolean to a select tag. Perhaps a wiser Rails explorer can provide us with the rationale for this, but I guess we could add a MixIn for InstanceTag that redefines the to_tag() method, or just do a dirty and unmaintainable hack l...
Comments
I beleive that I have one remaining issue to get the generated classes that I need. I am not getting the "HasMany" properties generated. I suspect this is due to my naming scheme not matching yours. I am going to research and attempt to get it to work for me. Of course, I will continue to share what ever I find.
Working with your generator and the code it produces has taught me more about ActiveRecord than the getting started tuitorial on the Castle site did. Thanks.
I hope I am not being too much of a pest.
BTW, I used to live in Oklahoma. I have been gone for several years, but miss it. I do not qualify to be an okie, but both of my children do. :)
If you would submit a SQL script that creates several tables and their relations, I could test my templates against them.
Good Luck, and Happy Hibernating!