Как я могу использовать встроенный Ruby для ввода данных из формы начальной загрузки

Я пытаюсь ввести данные из формы Bootstrap и не знаю, как использовать erb, чтобы принять эти данные и сохранить их в моей категории столбцов, здесь категория является внешним ключом в модели продукта.

мой product.rb

belongs_to :user
  belongs_to :category
  has_one_attached :image
  validates :productname,  presence: true
  validates :productprice, presence:true


  validates :user_id, presence: true

  <div class="form-group">
        <div class=" control-label col-sm-12">
      <label class="label1" ,for="sel1">Select category:</label>
      <select class="form-control" id="sel1">
       <option>Furniture</option>
       <option>Animals</option>
       <option>Electronics</option>
       <option>Computers</option>
      </select>
    </div>
      </div>

class Category < ApplicationRecord

  has_many :products
  has_many :articles, through: :article_categories
  validates :name , presence: true , length: {minimum: 3, maximum: 25}
  validates_uniqueness_of :name

end

Вот изображение моей формы

EveryThis отлично работает на консоли, но я не знаю, как взять его со страницы Html

1 ответ

Решение

Дайте имя тегу выбора, например, category, затем в контроллере вы можете получить доступ к значению с помощью params[:category], но перед этим вы должны установить значения для параметров в теге select, чтобы вы могли изменить выбор с помощью:

<%= select_tag 'category', options_for_select(Category.pluck(:name, :id)), class: 'form-control', id: 'sel1' %>
options_for_select(Category.pluck(:name, :id)) 

сгенерирует следующий html

<option value="1">Furniture</option>
<option value="2">Animals</option>
<option value="3">Electronics</option>
<option value="4">Computers</option>

Обратите внимание, что значения зависят от ваших данных.

Другие вопросы по тегам