Ich habe folgendes Anliegen in meiner Rails-Anwendung:Zugriff auf den Modellnamen in einem Problem (oder in einem Modul)?
module Authenticable
extend ActiveSupport::Concern
included do
# ...
end
module ClassMethods
def quoted_table_name
self.class.name.downcase.pluralize # returns "classes"
end
end
end
Wenn ich einen Benutzerklasse haben:
class User
include Authenticable
end
dann könnte ich User.quoted_table_name
wie "users"
zurückzukehren. Derzeit gibt User.quoted_table_name
"classes"
zurück. Ich habe auch folgendes versucht, aber nichts hat sich geändert.
def quoted_table_name
Proc.new { self.class.name.downcase.pluralize }.call
end
Vielleicht ist es, weil 'quoted_table_name' ist schon auf der Klassenseite. Die Klasse der User-Klasse ist 'Class' (liebe diesen Satz!). Sie könnten versuchen, eine 'name.downcase.pluralize' – tessi
Nizza Fang. Das war das Problem. – Max
Übergab den Kommentar in eine Antwort. Wie es eigentlich eine Antwort war. Es freut mich, dass ich helfen konnte :) – tessi