class Item < ActiveRecord::Base
end
class Talk < Item
end
avec la migration
class CreateItems < ActiveRecord::Migration
def self.up
create_table :items do |t|
t.string :type
t.string :name
t.text :description
t.time :start_time
t.time :duration
t.timestamps
end
end
...
end
Par défaut, la propriété de description sera disponible sur les classes d'article et Talk. Existe-t-il un moyen de restreindre la propriété afin qu'elle ne soit disponible que pour la classe Talk?
La propriété est toujours lisible dans la classe Item en utilisant 'read_attribute (: duration)' ... Le placer dans un module ne semble pas aider puisque l'ActiveRecord trouve "magiquement" les propriétés, pas les classes auto-écrites . – Veger
Peut-être que c'est un cas de mon travail de jour java qui m'influence. Je pense que sans protéger la propriété, un autre développeur pourrait s'attendre à ce que le champ soit utilisé là où il ne l'est pas. Par exemple, ils peuvent créer une vue qui fait référence au champ de description. Bien sûr, sur mon projet ferroviaire actuel, nous ne sommes en réalité que deux et nous communiquons évidemment assez pour que cela ne se produise pas. Il me laisse avec un sentiment de niggling bien, ah bien :) – opsb