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

  • krotoflik

    krotoflik

    26 ŞUBAT 2011
  • Rickymon Tero

    Rickymon Ter

    1 Ocak 2007
  • Theodore Leaf

    Theodore Lea

    29 AĞUSTOS 2006