[英]“accessorize” method - Ruby, Rack or Sinatra?
我看過以下成語,想知道accessorize
意思是什么,它來自何處-Ruby,Rack或Sinatra?
use Rack::Flash, accessorize: [:error, :success]
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對象上定義訪問器
看一下源代碼 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.