如何在rails上获取ruby类名和字段名

时间:2010-11-03 12:26:51

标签: ruby-on-rails ruby

 u=User.find(:first)
 u.to_s
 => "#<User:0x9b017ac>"

如何输出User此类字符串

3 个答案:

答案 0 :(得分:7)

Ruby文档中最“正确”的方法是使用u.class.name 更新:答案 - 选择为正确的u.name.to_s - 不对,原因:

例如:

class A
  def self.to_s
    "BBB"
  end
end

ruby-1.8.7-p302 > a.class.to_s
 => "BBB" 
ruby-1.8.7-p302 > a.class.name
 => "A" 

答案 1 :(得分:6)

如果您想获取课程名称,请尝试:

u.class.to_s

修改

正如谢尔盖在答案中指出的那样,最好使用

u.class.name

我认为这是因为to_s可能会被覆盖,并且可能会返回与name返回的字符串不同的字符串。

答案 2 :(得分:0)

尝试u.inspect,看看是否有任何信息符合您的需求。