許多Rails標記助手(例如content_tag等)使用名爲class
的散列選項參數來指定HTML類。是否有可能在Ruby中有一個名爲`class`或其他保留名稱的關鍵字參數?
content_tag(:div, content_tag(:p, "Hello world!"), class: "strong")
對於新的代碼,我想用關鍵字參數,但是是可能的,當他們中的一個是語言的關鍵字?
例如對於假設的link_tag
。
def link_tag(url, class: nil)
html = ''
html << '<a href="' << url << '"'
html << ' class="' << class << '"' if class
...
def link_tag(url, opts={})
html = ''
html << '<a href="' << url << '"'
html << ' class="' << opts[:class] << '"' if opts[:class]
...
不,這是不可能的。在Ruby中,通常使用'klass'或'clazz'來代替。 –
Rails是否有約定,或者他們會繼續使用「opts = {}」? –
我想到了一個方法來做到這一點。雖然這很醜陋。把它作爲一個完整的答案。 –