рельсы: как создать динамический выпадающий список в рельсах?

0
class FeedbacksController < ApplicationController
    def new
    @feedback = Feedback.new
    @subject = Subject.find_all_by_teacher_id(current_user.id)
end

end

Вот вид,
<% = form_for (@feedback) do | f | %> <% = render 'shared/error_messages', object: f.object%>
<% = f.label: subject_id%>
<% = f.collection_select (: subject_id, @subject,: id,: name)%>

  <%= f.label :strengths %>
  <%= f.text_field :strengths %>

  <%= f.label :rating %>
  <%= f.radio_button :rating, 'A', :checked => true %> A
  <%= f.radio_button :rating, 'B' %> B
  <%= f.radio_button :rating, 'C' %> C
  <%= f.radio_button :rating, 'D' %> D



  <%= f.label :recommendations %>
  <%= f.text_field :recommendations %>






  <%= f.submit "Create my account", class: "btn btn-large btn-primary" %>
<% end %>

Я хочу создать второй раскрывающийся список, если вы выбрали тему, система будет искать студентов, которые имеют эту тему из базы данных. Это значение, когда я выбираю другую тему, этот раскрывающийся список также изменит

  • 1
    Не уверен, что я следую вашему примеру. Будет ли это что-то вроде (в контексте штатов и городов) - если я выберу штат, следующий выпадающий список заполнится всеми городами в этом штате?
  • 0
    Да, это я хочу.
Показать ещё 1 комментарий

1 ответ

0
Лучший ответ

Скажем, например, у меня есть таблица Country, которая содержит названия стран, и я создаю форму для пользователя. В форме мне нужно, чтобы все имена стран приходили динамически из базы данных, и я буду использовать все имена в качестве параметров в Select

Когда я использую форму для создания нового пользователя, я буду использовать:

%label COUNTRY
      =f.select :user_country, options_for_select(Country.order(:country_name).pluck(:country_name))

Когда я использую форму для редактирования существующего пользователя, я буду использовать:

%label COUNTRY
  =f.select :user_country, options_for_select(Country.order(:country_name).pluck(:country_name), :selected=>@user.user_country)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню