2016-08-22 3 views
0

私は人々がサービスに加入できるウェブサイトを作った。users#編集者は閲覧者に応じて異なる必要があります

現在、ユーザー#編集は、ユーザー自身がパスワードなどの情報を編集するためのものです。

ただし、管理者が編集ページにアクセスしてexpiry_dateのようなものを編集できるようにしたいとします。明らかに、ユーザー自身がサブスクリプションの有効期限を編集することはできませんので、これを管理者に限定したいと思います。私は<%= if current_user.admin? %>を使用して、有効期限の日付フォームフィールドをそこに入れるのと同じように考えていますが、私は間違っていますか?

答えて

1

いいえ、あなたが正しいです。簡単にするには、current_useradminの場合にのみフォームフィールドを表示します。

の方法admin?を作成します。

def admin? 
    current_user.admin? 
end 

そしてフォームで部分的に、あなたはたくさんのアクションが表示する管理者のみが必要な状況に実行する場合、私はのために別々のnamespaceを作成することをお勧めしますしかし

<% if admin? %> 
    <!-- display the field --> 
<% end %> 

を追加admins

詳細については、http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

関連する問題