ruby-on-rails – Rails – 将对象转换为字符串时会发生什么?
发布时间:2020-12-17 03:48:52 所属栏目:百科 来源:网络整理
导读:我正在玩Rails控制台.偶然的机会,我意外地将一个对象转换为一个字符串. 以下是我的代码. Rails控制台 user = User.find(1)user.to_s # returns User:0x00000103ada530 我的问题是,什么是用户:0x00000103ada530 ?它是否像用户的ID?我输入 User:0x00000103
我正在玩Rails控制台.偶然的机会,我意外地将一个对象转换为一个字符串.
以下是我的代码. Rails控制台 user = User.find(1) user.to_s # returns <User:0x00000103ada530> 我的问题是,什么是<用户:0x00000103ada530> ?它是否像用户的ID?我输入< User:0x00000103ada530>我会回来User.find(1) 谢谢 解决方法
我错了,但是
0x00000103ada530 是内存中的地址 例如,一个类的2个实例不是同一个地方的存储 class Test end t1 = Test.allocate # the same as Test.new,but just allocates a memory space for t1 t2 = Test.allocate p t1 === t2 # false p t1.inspect # "#<Test:0x007f17555ff398>" p t2.inspect # "#<Test:0x007f17555ff370>" 如果您需要#to_s方法用户,您可以设置方法 class User < ActiveRecord::Base . . . def to_s "#{first_name} #{last_name}" end . . . end User.first.to_s # => John Doe (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |