次のようなビューで単純なスコープを実現する方法:
<% if @user.admin %>
ここで、「admin」は user.rb の次のスコープです。
scope :admin, where(role: "admin")
ユーザーテーブルに文字列であるロール列があります
後で呼び出すことができる別のモデル(ただし、デバイスユーザーモデルではない)で同じことを以前に行いました
<% if objective.completed %>
目標で each メソッドを呼び出した直後。
ただし 、ユーザーモデルに対してまったく同じことを行うと、
undefined method `admin' for #<User:0x00000107e39038>
どうすればそれを機能させることができますか?私は何時間も掘っています。
スコープのない回避策については、次を試してください。
<% if @user.role == "admin" %>