ile TOS anlaşması ekleme onay kutusu Üyelerimiz için kullanacağız. Üye şemasına bir tos_agreement alanı (boolean) ekledik ve views/devise/registrations/new.html.haml
'a ekledik. - Eğer TOS kabul etmezseniz, kayıt olamaz Düzgün çalışırDevise
validates_acceptance_of :tos_agreement, :allow_nil => false,
:accept => true
şu şekildedir: Üye modelinde
, biz bir doğrulama kuralı var. Ancak, sorun ayarlarınızı düzenlemeyle birlikte gelir./members/edit
'a giderseniz, e-posta adresinizi veya şifrenizi değiştirebileceğiniz formu alırsınız. Bu noktada değiştirilememesi gerektiğinden TOS anlaşması için alan yok. Ancak, bir değişiklik yaptığınızda (örneğin, parolanızı değiştirdiğinizde) ve formu gönderdiğinizde, TOS sözleşmesinin yanlış olamayacağı konusunda bir hata iletisi döndürür.
İlk kayıttan sonra TOS sözleşmesini değiştirmeyi hiçbir zaman denememeyi nasıl söyleyebiliriz?
Düzeltme: Bu yüzden asıl sorun şudur: bizim attr_accessible tos_agreement, şimdi çok kötü bir fikir olduğunu düşünüyorum. Ancak, eğer kaldırırsak, Devise'yi, parametreyi kabul etmek ve kitle ataması olmasa bile bir şey yapmak için nasıl değiştirebiliriz?
Ayrıca aslında bu tür için veritabanındaki bir alan oluşturmak gerekmez: sadece kayıt kontrol ediyor, böylece doğrulayıcı seçeneği yaratmak değişkenler, raylar sadece sizin için bir sanal alan yaratacaktır. http://guides.rubyonrails.org/active_record_validations.html#acceptance –