SORU
10 Kasım 2010, ÇARŞAMBA


Raylar Hazırlamak: kullanıcı şu anda oturum açmış olan nesne?

Ben zaten son zamanlarda yüklü Hazırlamak raylar üzerinde bir uygulama, ve ben merak ediyorum eğer mümkünse bir örnek şu anda oturum açmış kullanıcı ya da bir diğer model veya denetleyicileri, ve eğer öyleyse, bunu nasıl yapıcam?

CEVAP
10 Kasım 2010, ÇARŞAMBA


Vasiyet şu anda oturum açmış kullanıcı temsil eden anında kolaylık yöntemleri oluşturur.

Ancakoluşturulan yöntem adı Kullanıcı modelinizin sınıf adını içerir dikkat etmelisiniz. örneğin, eğer Vasiyet modeli denir 'User' sonra şu anda oturum açmış kullanıcı erişilebilir 'current_user', ve eğer Vasiyet sınıf 'Admin' sonra oturum admin kullanıcı erişilebilir 'current_admin'.

Diğer yöntemleri de benzer sözleşmeler, örneğin 'user_signed_in?' ya tekrar 'admin_signed_in?', gerçekten güzel. hangi ile oluşturulan vardır

Bu yöntemler bir görünümde takip edersin denetleyicileri ve görüşlerini mevcuttur:

<% if user_signed_in? %>
  <div>Signed in as... <%= current_user.email %></div>
<% end %>

Son olarak kullanıyorsanız, iki veya daha fazla Hazırlamak modellerinde uygulamanız (örneğin, Kullanıcı ve Yönetici), kullanabilirsiniz 'anybody_signed_in? rahatı yöntemi için kontrol edin ya da bu tür kullanıcı oturum:

<% if anybody_signed_in? %>
  <h2>Special offers</h2>
  <p>All registered users will receive free monkeys!</p>
<% end %>

Güncelleme:

Vasiyet beri sürüm 1.2.0, 'anybody_signed_in?' kaldırılmış ve yerine 'signed_in?'

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Boiler Room

    Boiler Room

    10 Mayıs 2012
  • Liberator

    Liberator

    14 EYLÜL 2007
  • The Computer Chronicles

    The Computer

    7 Kasım 2012