Kullanıcı rolleri için projem için önceki bir rol çözümüyle basit bir boole yöntemi ile Tek Tablo Kalıtım çözümüne geçtim. Ben Devise'yi kullanıyorum. STI projemde işe yarayacak gibi görünüyor, ancak bunu görüşlerime göre nasıl çalıştırabileceğimi merak ediyorum.Ruby on Rails - Kullanıcı rolleri STI sorgusuyla
Örneğin, eğer current_user.teacher ise < derdiydim? %> .... <% end%> ve bu, farklı kullanıcılar ve benzeri şeyler saklamak için çalıştı. Şimdi kullanıcı tablomda STI'yı desteklemek için bir "type" sütunu var ve yukarıdakilerin bununla nasıl uygulanacağını merak ediyorum (o da öğretmen)?
Teacher.rb
class Teacher < User
end
index.html.erb
<% if current_user.teacher? %>
<%= link_to "Create Homework Assignment", new_homework_path, class: "btn-custom" %>
<a class="btn-custom" href= "/homeworks/homework_completed" role="button"><i class="fa fa-sm fa-check green-tick"></i>Completed Homework Table</a>
<% end %>
teşekkürler. Gerekirse daha fazla bilgi.
<% if current_user.is_a? Teacher %>
Alternatif aynı DSL sizin için denetimi yapar sizin User
sınıfa bir teacher?
yöntemi ekleyip tutabilir:
Awesome thanks! :) Doğru olarak işaretleyecektir. – Co2
Sadece sormak için (tüm bu filtreleri düzeltmek zorunda kalmamayı tercih ediyorum) "öğretmen" ne olurdu? yöntem benziyor? Şu anda öğretmenim mi var? \t öğretmen end – Co2
Bu harika. Çok teşekkür ederim! – Co2