Ich bin ein Neuling für Ruby on Rails. Ich habe vor einem Monat angefangen, in RoR zu arbeiten. Meine Frage ist:Dynamische Auswahl Tag in Ruby on Rails
Wie kann ich dynamische Auswahltag, der mir Größen basierend auf ausgewählten Farbe der Produktvariante über AJAX zeigt?
Jedes Produkt hat viele Varianten. Jede Variante hat eine Farbe, eine Größe und eine Menge.
Hier sind meine Modelle:
class Color < ActiveRecord::Base
has_many :variants, dependent: :destroy
validates :name, presence: true, length: {minimum: 2, maximum: 20}
validates :hex, presence: true, uniqueness: true, length: { is: 7}, format: { with: /\A#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/ }
end
class Size < ActiveRecord::Base
has_many :variants, dependent: :destroy
validates :size, uniqueness: true, numericality: { only_integer: true, greater_than_or_equal_to: 28, less_than_or_equal_to: 49}
end
class Variant < ActiveRecord::Base
belongs_to :product
belongs_to :size
belongs_to :color
validates :quantity, :numericality => { :greater_than_or_equal_to => 0 }
validates :color_id, presence: true
validates :size_id, presence: true
end
Hier ist meine Produktansicht:
<%= form_tag({controller: "carts", action: "add"}, method: "post", class: "form") do %>
Color:
<%= select_tag :color, options_from_collection_for_select(@colors, "name", "name"), id: 'color', prompt: 'Select color', onchange: 'onChange()' %>
Quantity:
<%= number_field_tag :quantity, '1', min: 1%>
Size:
<%= select_tag :size, options_from_collection_for_select(@sizes,"size", "size"), id: 'size', prompt: 'Select size', onchange: 'onChange()'%>
<%= submit_tag "ADD TO CART", class: 'btn btn-default' %>
<%= submit_tag "BUY NOW", class: 'btn btn-dark-grey', style: "margin-left:10px"%>
<% end %>
Ich will mehr Informationen zur Verfügung stellen, wenn es gebraucht wird. Danke im Voraus.