2016-04-06 22 views
1

Kullanıcı ayrıcalıklarına bağlı olarak birden çok farklı düzen oluşturabilmem gerekir. Bir sahip ve çok üyeye sahip gruplara sahibim. Ayrıca bir grupta bulunabilecek veya bulunamayan çok sayıda kullanıcım var. Bir grubum varsa, grup sahibine, grup üyesine veya üye olmayan bir kullanıcıya nasıl farklı bir düzen oluştururum?Çoklu koşullara bağlı olarak kısmi işlemler oluşturmak için iyi bir uygulama?

böyle bu

düşünüyordum bir şey için bir yetkilendirme mücevher kullanmak istemiyorsanız:

<% if current_user == @group.owner %> 
    <% render partial_1 %> 
<% elsif current_user == @group.member && != @group.owner %> 
    <% render partial_2 %> 
<% else %> 
    <%render partial %> 
<% end %> 

bu etkisiz mi? Yetersiz? Bunun için en iyi/daha iyi bir uygulama var mı?

cevap

1

Esasen gayet iyi, kullanıcı olup olmadığını kontrol ettikten sonra kullanıcının sahibi olmadığını kontrol etmeniz ve kullanıcıların çok sayıda gruba ve gruba sahip olabileceğini varsayarak çok sayıda üyeye sahip olabileceğinizi varsaymanız gerekir. ya iyidir, bir veya diğer yerine group.member (@group.members.include?(current_user) çalışacak, ama aşağıda tersini öneriyoruz.

<% if current_user == @group.owner %> 
    <% render partial_1 %> 
<% elsif current_user.groups.include?(@group) %> 
    <% render partial_2 %> 
<% else %> 
    <% render partial %> 
<% end %> 
+0

Müthiş! aradığım Tam olarak ne. çok teşekkürler –

İlgili konular