The way that would make sense to me is to have configurations (i.e. everything that has to do with the computer: cpu_models, cpu_speeds, ram_sizes, ram_speeds, etc) all reside in one table, say a “configuration” model. You could then also have another model called “computer” (this could contain data types such as serial number, or whatever else is unique to that computer) With this setup you could then use a has_one relationship in Rails (computer has_one configuration) to associate computers with configurations.
“It also becomes a problem when I just want to throw up scaffolding to starting
entering data, I only need to see the value of any attribute once, not for every duplicate record.”
Scaffolding is not meant as an end all to do everything for you, but if you organize data the way I’ve suggested above you should not have to do much work to make it display attribute values the way you want.