collect_select,我只想 select 用户在我的下拉菜单中只有管理员角色为真
collect_select, I want to select users only with the admin role as true in my dropdown menu
<div class="field">
<%= form.label :user_id%>
<%= form.collection_select :user_id, User.all, :id , :emailaddress%>
如何将 select 修改为仅 select 管理员角色为 True 的用户的电子邮件地址?
这是我的架构..
create_table "courses", force: :cascade do |t|
t.integer "coursenumber"
t.integer "user_id"
t.string "description"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["user_id"], name: "index_courses_on_user_id"
create_table "users", force: :cascade do |t|
t.string "firstname"
t.string "lastname"
t.string "title"
t.integer "officenumber"
t.string "emailaddress"
t.integer "phone"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "admin"
我认为您可以像往常一样使用 where 方法:
User.where(admin: true)
<%= form.collection_select :user_id, User.where(admin: true), :id , :emailaddress%>
您也可以在您的模型中创建一个名为 admins 的范围,然后只需调用 User.admins 或类似的名称。
<div class="field">
<%= form.label :user_id%>
<%= form.collection_select :user_id, User.all, :id , :emailaddress%>
如何将 select 修改为仅 select 管理员角色为 True 的用户的电子邮件地址?
这是我的架构..
create_table "courses", force: :cascade do |t|
t.integer "coursenumber"
t.integer "user_id"
t.string "description"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["user_id"], name: "index_courses_on_user_id"
create_table "users", force: :cascade do |t|
t.string "firstname"
t.string "lastname"
t.string "title"
t.integer "officenumber"
t.string "emailaddress"
t.integer "phone"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "admin"
我认为您可以像往常一样使用 where 方法:
User.where(admin: true)
<%= form.collection_select :user_id, User.where(admin: true), :id , :emailaddress%>
您也可以在您的模型中创建一个名为 admins 的范围,然后只需调用 User.admins 或类似的名称。