在OhmRedis中设置动态字段

在OhmRedis中设置动态字段,第1张

在Ohm / Redis中设置动态字段

中的

attribute
class
Ohm::Model
方法为命名属性定义访问器和更改器方法:

def self.attribute(name)  define_method(name) do    read_local(name)  end  define_method(:"#{name}=") do |value|    write_local(name, value)  end  attributes << name unless attributes.include?(name)end

因此,当您说时

attribute :foo
,您可以免费获得以下方法:

def foo         # Returns the value of foo.def foo=(value) # Assigns a value to foo.

您可以

send
像这样调用mutator方法:

@ohm_obj.send((att + '=').to_sym, val)

如果您真的想说,

@ohm_obj[att] = val
那么可以在
OhmObj
课堂上添加以下内容:

def []=(att, value)    send((att + '=').to_sym, val)end

您可能还希望访问器版本保持对称:

def [](att)    send(att.to_sym)end


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4936135.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存