Я хочу создать новый продукт для API shopify.
когда я добавлю это в свой контроллер:
new_product = ShopifyAPI::Product.new
new_product.title = "Burton Custom Freestlye 151"
new_product.product_type = "Snowboard"
new_product.vendor = "Burton"
new_product.save
Он будет создавать новый продукт при каждой перезагрузке страницы
Я хочу создать продукт с формой, которую необходимо заполнить в интерфейсе.
Я пробовал это: контроллер:
@new_product = ShopifyAPI::Product.new(
:title => :title,
:vendor => :vendor,
:product_type => :product_type,
)
Просмотр:
<form method="POST" action=<%= @new_product %> data-shopify-app-submit="">
<input name="authenticity_token" value="<%= form_authenticity_token %>" type="hidden">
<p>
<label>Name:</label>
<input type="text" name="title"/>
</p>
<p>
<label>Body</label>
<input type="text" name="body_html"/>
</p>
<p>
<label>Vendor:</label>
<input type="text" name="vendor"/>
</p>
<p>
<label>Product Type:</label>
<input type="text" name="product_type"/>
</p>
<p>
<label>Tags:</label>
<input type="text" name="tags"/>
</p>
<input type="submit">
</form>
Ошибка:
ActionController::RoutingError (No route matches [POST] "/"):
Затем я попытался добавить post '/'
к моим маршрутам, но он не зафиксировал.
Я также добавил post 'admin/api/products'
к своим маршрутам, но без помощи.
Маршрут API для POST к https://#{@shop_session.url}/admin/api/products.json
, поэтому я попытался использовать эту форму:
<form method="POST" action="<%= "https://#{@shop_session.url}/admin/api/products.json" %>" data-shopify-app-submit="">
<input name="authenticity_token" value="<%= form_authenticity_token %>" type="hidden">
....
.....
<input type="submit">
</form>
С этим ничего не происходит.Даже не обновление в логах героку.Но в Firefox я получаю «Заблокирован политикой безопасности содержимого».
Как я могу преобразовать рабочий код в контроллере, который работает для перезагрузок, в форму, которую я могу использовать на внешнем интерфейсе?