2010-06-08 3 views
0

J'ai configuré quelques modèles dans la mode héritage de table et tout semble être fin et dandy. Mais lorsque j'utilise un champ de sélection de collection pour sélectionner des valeurs d'un des modèles, il l'enregistre, mais il enregistre l'ID des données et non la valeur réelle des données. Donc, quand j'essaie d'afficher la valeur sur la vue de spectacle, il montre juste l'ID correspondant et pas la valeur réelle.Problème d'héritage de table Rails

Voici ma configuration. J'utilise formtastic comme une note secondaire.

Voir

<%= show_field "County", @company.county %> 

Formulaire

<%= f.input :county, :label => 'County', :as => :select, :collection => County.find(:all) %> 

Modèle de base

class Tag < ActiveRecord::Base 
     before_create :set_type 
     before_update :set_type 
     attr_accessible :type, :name, :category 
     belongs_to :company 

     def set_type 
     self.type = self.category 
     end 
end 

hérité Modèle

class County < Tag 
end 

Répondre

0

La balise/comté est censé stocker l'ID pas la valeur. Dans votre vue, vous pouvez ensuite référencer le champ de nom du comté, ou n'importe quel champ que vous souhaitez afficher

<%= show_field "County", @company.county.name %>