有人能解释一下这两者之间的区别吗?
假设我有一个模型产品
在这个模型里,我有:
self.price
self[:price]我假设一个调用属性(产品价格),而另一个调用一个名为'price‘的方法?
如果这是真的,那是哪个?
发布于 2017-05-09 13:10:49
Rails将这些模型属性作为访问器创建,它动态地创建获取/设置值的方法。在您自己的类中使用它也很有趣,请看这里:accessor
发布于 2017-05-09 13:07:06
两者都调用一个方法:
:price。:[],将:price作为参数传递。你可以通过运行
self.method(:[])
#=> #<Method: User(ActiveRecord::AttributeMethods)#[]>基本上,只要您想知道方法从何而来,就可以使用method。
https://stackoverflow.com/questions/43870669
复制相似问题