#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, поэтому я не мог понять это