アプリケーションでユーザーを管理するためのCRUDインターフェイスに取り組んでいます。アプリ内の有効なユーザーロール(管理者、教師、学生)の名前を含む配列である一定のUser::ROLESがあります。
私がやりたいのは、コントローラーのインデックスアクションで、ROLES定数を反復処理し、@ usersからスコープ付きインスタンス変数を作成するブロック(ブロックの前に既に初期化されている)を用意することです。これまでのインデックスメソッドは次のようになります。
def index
@users = user.all
#@students = @users.where(:role => "student") # This works by itself
User::ROLES.each do |r|
@r = @users.where(:role => r.to_s)
end
end
したがって、ブロックを通過したものでインスタンス変数に名前を付けられるようにしたいので、@rは@admin、@ teacherなどを作成します。私はrubyとrailsに慣れていないため、実行するための構文がよくわかりません。これ。知るか?とにかくそれを行うためのより良い方法があるでしょう。
編集
みんなに知らせるために、これをインデックスアクションのビューで使用して、役割ごとにグループ化されたユーザーのリストを表示したいと思っています。もちろん、CRUDインターフェース全体で他の方法でも使用されます。そのため、多目的であるため、以前はユースケースを明確にしませんでした。