2016-09-29 3 views
1

Ein Teil der App, die ich entwickle, beinhaltet ein Formular, das ein Produkt im Shop des Benutzers erstellen muss und auch eine Zeile in meiner eigenen Datenbank für ein identisches Produkt (mit einem einige zusätzliche Bits an Informationen).Rails - zwei Formen in einem (ShopifyAPI)

Wo ich kämpfe ist mit dem Formular selbst, ich kann dies mit einem HTML-basierten Formular, aber ich kann nicht ein einziges Ruby-Formular, um beide Jobs zu tun. Eine verkürzte Version meines Controller-Code ist wie folgt;

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 

So wie Sie sehen können wir die gleiche params sind mit Werten setzen sowohl für das Shopify Produkt und das Produkt in meinem eigenen db. Die HTML-Formular sieht wie folgt aus:

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

Und es funktioniert gut, aber wie konvertiere ich dies in eine rubin Form, die die gleiche Arbeit tut?

+1

Dies ist nur eine normale Form, nicht zwei Formen in einem ... – user3033467

Antwort

2

Sie können wie folgt tun:

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

Statt-Tag ("br"), können Sie direkt < br verwenden />.

+0

Annahme der Antwort. Ich habe total über form_tag vergessen und war auf die Form gelehnt, weshalb ich das nicht herausfinden konnte – Dan

Verwandte Themen