我想在model方法中获取表名。I表名应该有方法table_name,但是当我尝试调用它时,我得到了NameError异常:未定义的局部变量或方法‘found _name’。它显然不在那里:
pp methods.grep(/^ta.*/)
["table_name_prefix?",
"table_name_suffix?",
"taint",
"taguri",
"taguri=",
"tainted?",
"table_name_prefix",
"table_name_suffix",
"tap"]
如何获得一个“真实”的表名(没有小写复数的技巧)?
谢谢
发布于 2011-05-26 22:12:47
找到了。
它是一个类方法。在Rails3文档中,这一点并不明显。
self.class.table_name
发布于 2014-06-10 20:50:15
如果您在需要表名称的类的类方法中,请尝试:
class Model < ActiveRecord::Base
def self.class_method
puts self.table_name
end
end
如果您尝试使用
self.class.table_name
你会遇到一个NoMethodError: undefined method 'table_name' for Class:Class
https://stackoverflow.com/questions/6139640
复制相似问题