Rails — две формы в одной (ShopifyAPI)

#ruby-on-rails #ruby #forms #shopify

#ruby-on-rails #ruby #формы #shopify

Вопрос:

Часть приложения, которое я разрабатываю, включает в себя форму, которая должна создавать продукт в магазине пользователей shopify, а также создавать строку в моей собственной базе данных для идентичного продукта (с несколькими дополнительными битами информации).

Где я борюсь с самой формой, я могу сделать это с помощью формы на основе html, но я не могу заставить одну форму ruby выполнять обе работы. Сокращенная версия моего кода создания контроллера выглядит следующим образом;

 def create
    @item = Item.new
    @item.item_title = params[:item_title]
    @item.item_profit = params[:item_profit]
    @new_product = ShopifyAPI::Product.new
    @new_product.title = params[:item_title]
    @new_product.save
    @item.save
end
  

Итак, как вы можете видеть, я использую одни и те же параметры для установки значений как для продукта shopify, так и для продукта в моей собственной БД. HTML-форма выглядит следующим образом:

 <form action="/items/submit" >
  <input type="text" name="item_title">
  <br>
  <input type="text" name="item_profit">
  <br>
  <br>
  <input type="submit"/>
</form>
  

И это работает нормально, но как мне преобразовать это в форму ruby, которая выполняет ту же работу?

Комментарии:

1. Это просто обычная форма, а не две формы в одной…

Ответ №1:

Вы можете сделать так:

 form_tag('/items/submit')
  text_field_tag 'item_title'
  tag("br")
  text_field_tag 'item_profit'
  tag("br")
  tag("br")
<%= submit_tag 'Save' %>
  

Вместо тега («br») вы можете напрямую использовать < br /> .

Комментарии:

1. Принимаю ответ. Полностью забыл о form_tag и склонялся к form_for, поэтому я не мог понять это