Ich habe folgendes Modell:Ruby on Rails - Ein virtuelles Attribut
create_table "material_costs", :force => true do |t|
t.string "material"
t.integer "height"
t.integer "width"
t.decimal "cost", :precision => 4, :scale => 2
t.datetime "created_at"
t.datetime "updated_at"
end
Wie würde ich ein virtuelles Attribut im Modell erstelle mir pro Quadratzoll jeden Material die Kosten zu geben?
Auch hat ich ein anderes Modell, das den Mehrwertsteuerwert gilt:
create_table "taxes", :force => true do |t|
t.string "name"
t.decimal "rate", :precision => 10, :scale => 0
t.datetime "created_at"
t.datetime "updated_at"
end
Wie verwende ich dieses Modell einen Gesamtpreis pro Quadratzoll für jede Materialposition, um mich also müssen sich auf dem Mehrwertsteuersatz hinzufügen?
bearbeiten - ich jetzt die Mehrwertsteuer-Wert in dem folgenden Modell speichern:
create_table "app_options", :force => true do |t|
t.string "name"
t.string "value"
t.datetime "created_at"
t.datetime "updated_at"
end
bearbeiten - Das ist mein Controller-Code:
def calculate_quote
@moulding = Moulding.find(params[:id], :select => 'cost, width')
@mount = MaterialCost.find(1).total_cost_per_square_mm
@glass = MaterialCost.find(2).total_cost_per_square_mm
@backing_board = MaterialCost.find(3).total_cost_per_square_mm
@wastage = AppOption.find(2, :select => 'value')
@markup = AppOption.find(3, :select => 'value')
respond_to do |format|
format.json { render :json => { :moulding => @moulding, :mount => @mount, :glass => @glass, :backing_board => @backing_board, :wastage => @wastage, :markup => @markup } }
end
end
Wie wähle ich die richtige Rate mit 'whichTax.rate'? – freshest
@freshest: Siehe meine Bearbeitung. Hilft das überhaupt? –
Gibt es eine Möglichkeit, alles in das Modell zu verschieben? Wenn ich die Gesamtkosten vom MaterialCost-Modell bekomme, wurde die Mehrwertsteuer bereits erhoben. – freshest