2016-09-19 3 views
0

Hier ist mein Hauptformular Reform-Objekt;Wie speichere ich zusätzliche Parameter mit Hilfe von Reform

class CardHolderSupplierForm < ApplicationForm 
    property :supplier_id, validates: { presence: true } 
    property :standing_order, form: StandingOrderForm 
end 

Und die StandingOrderForm ist;

class StandingOrderForm < ApplicationForm 
    property :amount_pence 
    property :reference 
    property :frequency 
end 

Ich habe eine Spalte in standing_orders amount_currency genannt, die immer "GBP" sein sollte. Ich kann nicht scheinen, Reform zu bekommen, um das für mich reinzudrücken. Ich habe verschiedene Wege ausprobiert;

class StandingOrderForm < ApplicationForm 
    property :amount_pence 
    property :reference 
    property :frequency 

    # does nothing 
    def amount_currency 
    "GBP" 
    end 

    # does nothing - can't even binding.pry 
    def save 
    model.amount_currency = "GBP" 
    super 
    end 

Ich weiß nicht, wie man das funktioniert. Der Rest des Formulars funktioniert wie gewohnt.

+0

Wenn Sie dies ohne die Reform Edelstein tun möchten, kann ich Ihnen zeigen, wie seit Rails macht es einfach. Dann müssen Sie sich keine Sorgen machen, dass Sie mit einer vorgefertigten Bibliothek gut spielen können, und Sie können die Dinge wie gewohnt anpassen. Lassen Sie mich wissen, wenn Sie stecken bleiben und ich zeige Ihnen, wie man Formularobjekte auf die Art von Rails einrichtet. – bkunzi01

+0

danke für das Angebot, aber es ist ein Arbeitsprojekt, kein persönliches und ich bin für diese Reform gebunden. – mikelovelyuk

Antwort

0

Wie wäre es mit der Standardeinstellungen von Reform?

property :amount_currency, default: "GBP" 
Verwandte Themen