Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么带有额外参数的按钮标签会出错?_Ruby On Rails_Html_Syntax Error_Form Helpers - Fatal编程技术网

Ruby on rails 为什么带有额外参数的按钮标签会出错?

Ruby on rails 为什么带有额外参数的按钮标签会出错?,ruby-on-rails,html,syntax-error,form-helpers,Ruby On Rails,Html,Syntax Error,Form Helpers,我有一个表单和一个按钮: = button_tag( "×" , type: "button", html: {class: "close", aria-hidden: "true"}, data: {dismiss: "alert"} ) 它从twitter引导程序[]转换为rails: 隐藏了aria的某些内容:“true”或解除:“alert”是错误的 为什么会这样?我使用了不同的变体来抱怨[]: 不允许使用此语法: aria-hidden: "true" 替换为

我有一个表单和一个按钮:

= button_tag( "×" , type: "button", html: {class: "close", aria-hidden: "true"},  data: {dismiss: "alert"} )
它从twitter引导程序[]转换为rails:

隐藏了
aria的某些内容:“true”
解除:“alert”
是错误的

为什么会这样?我使用了不同的变体来抱怨[]:


不允许使用此语法:

aria-hidden: "true"
替换为:

:"aria-hidden" => "true"


我改为
=button_标记(“×;”),键入:“button”,html:{class:“close”,:“aria hidden”=>“true”},数据:{dismise:“alert”})
,现在它工作了,但看起来有点丑陋和奇怪。这:
=button_标记(“×;”),键入:“button”,html:{class:“close”,“aria hidden:“true”},数据:{dismise:“alert”})
不起作用。为什么只有“aria hidden”?所有其他属性与
attr_name:value
完美配合,这里没有什么奇怪的地方-破折号是一个特殊符号。它用作减号/运算符。但是为什么
“aria hidden”:“true”
不起作用,只有
:“aria hidden”=>“true”
?因为Ruby语法不允许这样做:)对不起,我不会给你更好的答案。也许在Ruby feature/bug tracker上搜索会得到一些结果。对于解析器来说,可能很难猜出这种语法的真正含义。
button_tag(content_or_options = nil, options = nil, &block)
aria-hidden: "true"
:"aria-hidden" => "true"
"aria-hidden" => "true"
aria: { hidden: true }