ich eine einfache Validierung haben:Schienen: Warum wird die Methode "number_with_delimiter" in meinem Modell nicht erkannt?
class Product < ActiveRecord::Base
# include ActionView::Helpers::NumberHelper
...
validates_numericality_of :price, :less_than => 1000000,
:message => "must be less than #{number_with_delimiter(1000000)}"
...
end
Auf diesem Code habe ich den folgenden Fehler erhalten:
undefined method `number_with_delimiter' for #<Class:0x2665a58>
Ich habe versucht, hinzuzufügen:
include ActionView::Helpers::NumberHelper
aber es hat nicht Hilfe.
Was fehlt mir?
@Ryan: Ich verstehe, dass das Einschließen in die Klasse der Definition meiner eigenen Methoden in dieser Klasse entspricht, oder? Bedeutet das, dass ich 'self.number_with_delimiter (...)' verwenden könnte? Wenn Sie das 'include' außerhalb der Klasse platzieren, werden alle Methoden innerhalb von 'ActionView :: Helpers :: NumberHelper' global? –
@Misha: Ja, sie würden global werden, aber das ist im Allgemeinen keine gute Idee (tm). In diesem Fall ist es am besten, die Klasse mit dem Modul zu erweitern. –
@Ryan: Verlängern welche Klasse? –