Veritabanına eklendikten sonra güncellenmesi imkansız olması gereken belirli bir alana sahip bir veritabanı tablom var. Modelime belirli bir alanın güncellenmesine izin vermemesi gerektiğini nasıl anlarım?Rails'de veritabanı alanı nasıl okunur yapılır?
cevap
Sen attr_readonly
kullanmak istiyorum: salt okunur olarak listelenmiş
Nitelikler yeni bir kayıt oluşturmak için kullanılacak ancak güncelleme işlemleri bu alanları göz ardı eder.
class Customer < ActiveRecord::Base
attr_readonly :your_field_name
end
ve bu alan yerleştirme sırasında, her zaman ve tanımı "doğru" (gerçekte yani doğru bir temsili) tarafından?
Bu alana ilk girdiğinizde (ve yalnızca şemada: sadece) bir kullanıcı hata yapamaz mı?
Aslında kullanıcı hiç girmiyor, kontrolör tarafından ayarlanmış. Önlemek istediğim, birinin değiştirilen bir posta isteği kullanarak değiştirmesidir. – fresskoma
Bu durumda, "salt okunur" alanlarla uğraşmak istemezsiniz. Yapmak istediğiniz şey, alanın toplu güncellemeler tarafından değiştirilmesini önlemek için modelinizde 'attr_protected' ifadesini kullanmaktır. Daha da iyisi: Kitle güncellemeleri için yalnızca seçili alanları yapmak için 'attr_accessible' kullanın. – averell
Buraya borulamak için: Bence, bu alanın değiştirilmesi, veri bütünlüğünüzü bozarsa, attr_readonly'nin uygun kullanım durumu. Bir alanım var: valid_at, ve bu alanın değişmesi hiçbir zaman gerçekleşmemeli, çünkü bir şey çekirdek algoritmalarla çok yanlış olduğu anlamına gelir. Eğer bu olursa, hepsi güvertede. Tüm veriler kötü olabilir. Bu yüzden, onu asla değiştirmemeliydim ve başka bir koddaki bir hata tarafından değiştirilmek yerine ağır bir şekilde korunmak isterim. Şayet hiç değiştirilmeye çalışılırsa, çok yüksek sesle patlatmak istiyorum. – Houen
- 1. Sitecore'da "salt okunur" bir alanı nasıl yapabilirim?
- 2. asp.net mvc veritabanı ilişki alanı
- 3. Salt okunur Uygulama paketindeki SQLite veritabanı
- 4. Rails harici veritabanı çağrıları nasıl yapılır?
- 5. Mysql veritabanı Arapça dil desteği nasıl yapılır?
- 6. ondalık alanları için edittext alanı nasıl yapılır
- 7. SQL Compact veritabanı nasıl açılır Salt okunur okuma
- 8. Git-ls-ağacının çıktısının mod alanı nasıl okunur?
- 9. Ctrl-P anahtarı nasıl okunur?
- 10. SQLAlchemy - salt okunur (veya hesaplanmış) özelliğe karşı eşleme nasıl yapılır
- 11. Veritabanı kullanılarak otomatik metin alanı otomatik tamamlama alanı
- 12. Belirli bir alanın değeri nasıl okunur Okunur
- 13. Zaman tablosu veritabanı doğrusal depolama alanı
- 14. ASP .NET veritabanı-ilk seçim alanı
- 15. SQL Veritabanı CE'de otomatik numara alanı CE
- 16. PHP - Veritabanı alanı boşsa virgül veya görüntü nasıl kaldırılır
- 17. android- Veritabanı alanı için nesneler eklemek ve silmek nasıl?
- 18. Tam olarak bir satır nasıl okunur?
- 19. @Entity için tablo alanı nasıl ayarlanır?
- 20. Sqlite python - salt okunur bir veritabanı yazma girişiminde bulunma
- 21. Symfony2'de bir LIKE veritabanı sorgusu nasıl yapılır
- 22. MS Access veritabanı kodlamasını UTF-8'e dönüştürme nasıl yapılır?
- 23. Accounts.createUser sorunu. E-posta alanı benzersiz olmayan nasıl yapılır?
- 24. Girdi alanı için istemci tarafı doğrulaması nasıl yapılır? Jquery datatable
- 25. HardDisk Sıcaklığı nasıl okunur?
- 26. DBA'nın önerileri nasıl okunur?
- 27. gmon.out nasıl okunur?
- 28. Android'de pdf nasıl okunur
- 29. FileHelpers - ® karakterde nasıl okunur?
- 30. XML'de XML Nasıl Okunur?
Bu, sorunuzun doğru cevabıdır, ancak asıl sorununun "doğru" çözümü biraz farklıdır ... diğer soru hakkındaki yoruma bakın. – averell
Aksi takdirde cevaba +1. – averell