![]() |
1
80
rails模型没有什么神奇之处,它只是一个普通的类,包含一堆预先存在的方法, 所以,问题是“我能在类中定义_方法吗”? 第一部分:是的,你可以。重要的区别在于您无法定义方法 在课堂上 不 在某种情况下 方法 例如:
这应该行得通。请注意,您正在类Cow上定义它,因此您已经拥有的任何其他Cow都将自动添加该方法。 第2部分:如果要从实例方法中定义方法,应该怎么做?不能从实例方法定义方法,因此必须获取类,并使用该类定义方法。这样地:
问题解决了。精明的读者会注意到,在这个示例中,我使用
如上所述,我们将该方法直接添加到类中,因此已经存在的所有其他Cow也将自动添加speak方法。 第3部分:如果只想为一个对象定义一个方法,而不是为该类的所有对象定义一个方法,该怎么办?
这是怎么回事?到兔子洞里去! 请阅读以下内容: http://dannytatom.me/metaid/ 祝你好运。当您意识到向实例中“添加方法”实际上并不是将其添加到实例中时,它会有所帮助:-) |
![]() |
2
6
|
![]() |
3
2
我的实例方法foo正在打开类并在其上定义bar,这样我就可以在我的实例上调用它。更有经验的人会让我们知道这是不是同时打开了一罐蠕虫。 不过,了解您的具体用途会很有用。
|
![]() |
4
1
|
![]() |
cluster1 · 采取独立的新行动的好处是什么? 5 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 5 月前 |
![]() |
Fred Willmore · Rails控制器不呈现任何模板 12 月前 |
![]() |
Diogo Amaral · 实现API请求的正确方式 12 月前 |
![]() |
Meknassih · 在控制器方法中分配给模型没有任何作用 1 年前 |
![]() |
Michael Ding · Rails上的默认会话到期问题 1 年前 |
|
Flávio · 基于另外两个生成数组 1 年前 |