私は2種類のユーザを持っています:マネージャと従業員。私はそれらの両方に1つのユーザコントローラを使用します。ユーザタイプの定義、単一テーブルの継承(?)
私が追加したんでした:ユーザーテーブルにMANAGER_IDを、ユーザモデルに次のように置く:
class User < ActiveRecord::Base
has_many :employees, :class_name => 'User', :foreign_key => :manager_id
belongs_to :manager, :class_name => 'User'
は十分に簡単に聞こえます。
今、ユーザータイプを定義します。ユーザーにマネージャーがいる場合、彼は従業員です。ユーザーにマネージャーがいない場合、マネージャーです。
私は、このようなように私の見解では、ユーザーのタイプを参照するように、モデルに追加するには何が必要なのか:
<% if current_user.manager? %>
You are a manager.
<% else %>
You are not a manager.
<% end %>
私はuser.rbモデルでユーザータイプを定義しようとしましたが、私は取得しています「未定義のメソッド」マネージャーですか? NilClass」エラー:nilのため
def manager?
manager_id.nil?
end
def employee?
!manager?
end
ああ!それはうまくいった。それは完璧な意味合いがあります。ありがとうございました。 – cdotfeli