Hi,
I think the problem you're having here is that you're calling 'qty' when your table column is 'Qty'.
There are also a number of things that are not set up in a way that will give you the benefit from Rails:
It's generally standard to keep all of your column names lowercase. If you can, it's also best to be as descriptive as possible. For example, 'description' is better than 'Desc'.
Your Post_Type class would be better named without the underscore: PostType. If you do this, you shouldn't need to specify the foriegn key as you have in your relationship declarations.
For readability, I would also be more descriptive in your controllers and views:
def index @post_types = PostType.find(:all) end
<% @post_types.each do |post_type| %>
In terms of your models, I don't know exactly what you application is but I would say your method would work. However, I would suggest looking at 'tagging' and 'polymorphic' relationships in Rails as you may be able to achieve a neater, more managable solution.
Steve