许多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 = {}”? –
我想到了一个方法来做到这一点。虽然这很丑陋。把它作为一个完整的答案。 –