2016-04-15 1 views
-3

Ich muss in der Lage sein, eine Artikelnummer basierend auf der Produkt-ID mit dem Präfix "N" zu erstellen. Ich habe diese zwei Fragen über prefixing und unter Verwendung callbacks gesehen.In Rails wie kann ich ID mit dem Buchstaben "N" voranstellen und als Artikelnummer speichern

Ich bin neu in Ruby on Rails und Programmierung im Allgemeinen. Wie kann ich beide Fragen so kombinieren, dass after_save mein Artikelnummerfeld mit der neu verketteten K + ID aktualisiert wird?

Ich verwende Ruby 2.3 und Rails 4.2.5.

Update - endgültige Lösung Dank @ born4new, ist der endgültige Code, den ich in meinem Modell verwendet, um dies zur Arbeit zu bringen, wie folgt.

class Product < ActiveRecord::Base 
    after_save :create_item_number 

    private 
    # Concatenate ID with prefix N to create item number 
    def create_item_number 
     update_column(:item_number, self.item_number = "N#{id}") 
    end 
end 

Antwort

0

Sie können wie so eine einfache String-Verkettung tun:

after_save :prefix_number 

[...] 

private 

def prefix_number 
    self.number = "N#{id}" 
end 
+0

Thanks a lot @ born4new, werde ich mich für das Modell verwendet, um die Frage mit dem endgültigen Code zu aktualisieren. – EpixRu

Verwandte Themen