Я создаю приложение для рельсов и новичок в рельсах. У меня есть две модели - операторы и кабины кабины, которые связаны друг с другом:Как построить взаимозависимые формы в рельсах?
class Cab < ActiveRecord::Base
belongs_to :operator
end
Существует также третья модель водителя, и я создаю форму для редактирования драйверов, используемых оператором. Одно из полей формы позволяет пользователю выбирать среди Opertors, как:
<div class="field">
<%= f.label :operator_id, "Operator Name" %><br>
<%= f.collection_select(:operator_id, Operator.all, :id, :name) %>
</div>
форма также содержит поле для выбора из кабины, как:
<div class="field">
<%= f.label :cab_id, "Cab Number" %><br>
<%= f.collection_select(:cab_id, Cab.all, :id, :number) %>
</div>
Однако, я хочу чтобы отображать только те кабины через указанное выше поле, которые назначены оператору, выбранному из первого набора collection_select. Это возможно? Как?
EDIT: Форма генерируется для объекта драйвера, как:
<%= form_for(@driver) do |f| %>
Кроме того, водитель относится к Cabs следующим образом:
class Driver < ActiveRecord::Base
belongs_to :operator
belongs_to :cab
end
Для какого объекта вы строите форму? Можете ли вы также опубликовать ассоциации в классах операторов и драйверов? – Surya
Added User089247 –
Итак, это не сработает для нового драйвера. Кроме того, если вы редактируете драйвер, почему вы будете отображать всех операторов вместо оператора @ driver? – Surya