Мне действительно тяжело с выпадающими в одной последовательности проекта.
Следовательно, у меня есть две модели
User.rb
class User < ApplicationRecord
has_many :addresses
end
и Address.rb
class Address < ApplicationRecord
belongs_to :user
end
Затем у меня есть процесс первого шага, где пользователь вводит свой адрес. Есть выпадающее меню, которое должно выглядеть так:
Вариант 1 : # {current_user.first_name} {current_user.last_name}, {current_user.address}
Если пользователь щелкает эту опцию в раскрывающемся меню (по умолчанию) и затем продолжает, адрес должен быть взят у текущего пользователя и продолжен (это действие разрешено)
Вариант 2: Новый адрес
Если пользователь нажимает эту опцию, должна появиться новая форма, где пользователь может ввести имя, фамилию и адрес.
Я пытался использовать теги select и collection select, но, похоже, это не то, что мне нужно. Я знаю, что могу использовать метод onChange js для формы, но я не знаю, как вставить адрес в варианте 1 в качестве допустимого аргумента для моей формы.
Есть предложения?
UPDATE
<%= form.fields_for :address do |form| %>
<%= form.select_tag "bill address", options_for_select([[Address.where(:user_id => current_spree_user.id).collect{|b| "#{b.firstname} #{b.lastname}: # {b.address1}, #{b.state}"}, current_user.id], ["New Adress", ""]] %>
<% end %>
Я пытался с этим, но получил ошибку. Не удалось найти адрес с 'id' = Nella Nienow: 801 Greenfelder Court, Нью-Йорк (я назначил этот адрес current_user в консоли)