首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby语法(rails模型)

ruby语法(rails模型)
EN

Stack Overflow用户
提问于 2017-05-09 13:05:37
回答 2查看 67关注 0票数 1

有人能解释一下这两者之间的区别吗?

假设我有一个模型产品

在这个模型里,我有:

代码语言:javascript
复制
self.price
self[:price]

我假设一个调用属性(产品价格),而另一个调用一个名为'price‘的方法?

如果这是真的,那是哪个?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-09 13:10:49

Rails将这些模型属性作为访问器创建,它动态地创建获取/设置值的方法。在您自己的类中使用它也很有趣,请看这里:accessor

票数 0
EN

Stack Overflow用户

发布于 2017-05-09 13:07:06

两者都调用一个方法:

  • 首先,调用一个方法:price
  • 第二个调用方法:[],将:price作为参数传递。

你可以通过运行

代码语言:javascript
复制
self.method(:[])
#=> #<Method: User(ActiveRecord::AttributeMethods)#[]>

基本上,只要您想知道方法从何而来,就可以使用method

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43870669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档