#ruby-on-rails #collections #collection-select
#ruby-on-rails #Коллекции #коллекция-выбрать
Вопрос:
<div class="field">
<%= form.label :user_id%>
<%= form.collection_select :user_id, User.all, :id , :emailaddress%>
Как я могу изменить выбор, чтобы выбирать только адреса электронной почты пользователей с их ролью администратора как 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"
Ответ №1:
Я думаю, вы можете использовать метод where, как обычно:
User.where(admin: true)
<%= form.collection_select :user_id, User.where(admin: true), :id , :emailaddress%>
Вы также могли бы создать область в своей модели с именем admins, а затем просто вызвать User.admins или что-то в этом роде.