'daki sütun adları için diğer ad. Veritabanımda 'delete' veya 'listen-control' gibi sütun adları var. Bunlar değiştirilemez, bu yüzden başvurumdaki problemlerden kaçınmak için isimleri takma ismini almak istiyorum. Rails
Ben the following code buldum ama (2005 Ağustos 5) modası geçmiş ve Rails 3 ile çalışmıyor:module Legacy
def self.append_features(base)
super
base.extend(ClassMethods)
end
module ClassMethods
def alias_column(options)
options.each do |new_name, old_name|
self.send(:define_method, new_name) { self.send(old_name) }
self.send(:define_method, "#{new_name}=") { |value| self.send("#{old_name}=", value) }
end
end
end
end
ActiveRecord::Base.class_eval do
include Legacy
end
nasıl sütun adlarını diğer ad olabilir? Mümkün mü?
Sorunun 'silme' ve 'dinleme denetimini' kullanarak sütun adlarında ne olduğunu göremiyorum? Bir hatayı mı yoksa başka bir şeyle mi karşılaşıyorsunuz? – Ariejan
Dinleme kontrolü, adında bir tire olduğu için geçersiz bir yakut nesnesi niteliği oluşturması nedeniyle sorunlara neden olur. Ruby, "object.listen-control" öğesini "object.listen, eksi kontrol" olarak yorumlar. Ve silme, ayrılmış bir anahtar kelime olabilir. Bunu neden yapmak istediğini bilmiyorum. Bazen doğru cevap, yakut veya raylarla savaşmaya çalışmaktan vazgeçmektir. –
'define_method (" dinle-control ", Proc. Sorun nerede? – rthbound