我见过以下成语,并想知道accessorize
的意思是什么,它来自哪里 - Ruby,Rack还是Sinatra?
use Rack::Flash, accessorize: [:error, :success]
答案 0 :(得分:1)
accessorize
不是方法,从列表中我看到这是Rack::Flash关键选项。在源头深处,我看到了这一点:
# Generate accessor methods for the given entry key if :accessorize is true.
def def_accessor(key)
raise ArgumentError.new('Invalid entry type: %s' % key) if respond_to?(key)
class << self; self end.class_eval do
define_method(key) { |*args| val = args.first; val ? (self[key]=val) : self[key] }
define_method("#{key}=") { |val| self[key] = val }
define_method("#{key}!") { |val| cache[key] = val }
end
end
end
在文档中
或者您可以传递
:accessorize
选项来声明您的Flash类型。 其中每个都将在flash对象上定义访问器