新手问题 关于对象封装

yuan_yp · 2013年07月04日 · 最后由 yuan_yp 回复于 2013年07月05日 · 2026 次阅读

各位,如果我有两个 model,一个 user,一个 organ,但是我需要封装成一个对象,这个对象有@user.name和 organ.name,我该怎么弄

才到 qq 群里看你问过。 我是 Aaron,BTW

#1 楼 @heliang7 谢谢,我自己建一个类,然后用 def initialize(name,org)的方式进行封装,我在试

其实你甚至可以这样: o = new Object o.name = @user.name o.org = @org.name 简单理解和 js 有点像。

#3 楼 @heliang7 这样都行...怎么感觉有点忐忑,name 和 org 都没定义啊

其实这个类不是常用到话,它也没有必要存在,对吧?

#5 楼 @heliang7 你意思他用过一次后就自动消失了对吧

不是,我说的你自己准备建的这个类。

#7 楼 @heliang7 哦,这我就理解了,对了 ruby 里的 initialize 方法能重载吗,就是传参不同

不可以,后面会覆盖前面的。

data_mappify

#9 楼 @heliang7 ---------ruby------------ #encoding: utf-8 class UnExamineOrg def initialize(orgName,orgType,orgSize,description,date,examineInfo) @orgName = orgName #组织机构名 @orgType = orgType #组织类型 @orgSize = orgSize #组织规模 @description = description #申请描述 @date = date #申请日期 @examineInfo = examineInfo #审核备注 end end 我这代码有问题吗

你说 new 的时候有问题? 是 rails 项目 model 目录下的吗?如果是,重启下看看,应该能自动加载。 否则,reuqire 一下看看

另外,你忘加 attr_read 了

#14 楼 @heliang7 还是不行,那如果自定义类的话,我就是建个.rb 文件,然后在里面写上这些代码就好了吗,还是有其他的文件需要定义,比方说 rails g model 的时候其他地方也会产生新文件

#15 楼 @yuan_yp 就建个 rb 文件就行了。你用它的时候,require 一下试试

#16 楼 @heliang7 好了,谢谢你,是没有加 require

需要 登录 后方可回复, 如果你还没有账号请 注册新账号