2013-10-15 3 views
0

У меня есть форма и кнопка:Почему button_tag с дополнительными параметрами получает сообщение об ошибке?

= button_tag("×" , type: "button", html: {class: "close", aria-hidden: "true"}, data: {dismiss: "alert"}) 

он превращается в рельсы из Twitter Bootstrap [http://getbootstrap.com/components/#alerts]:

<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> 

Но рельсы Variant получаю сообщение об ошибке:

SyntaxError in Search#get_search 
Showing /.../app/views/search/new.html.slim where line #58 raised: 

/.../app/views/search/new.html.slim:58: syntax error, unexpected tLABEL 
...: {class: "close", aria-hidden: true}, data: {dismiss: "ale... 
...        ^
/.../app/views/search/new.html.slim:58: syntax error, unexpected ')', expecting keyword_end 
... {dismiss: "alert"})))).to_s)); 
...        ^

Нечто aria-hidden: "true" или dismiss: "alert" неверно

Почему это так? Я использовал различные варианты, которые жалуются на [http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-button_tag]:

button_tag(content_or_options = nil, options = nil, &block) 

ответ

1

Этот синтаксис не допускается:

aria-hidden: "true" 

Замените его:

:"aria-hidden" => "true" 

или

"aria-hidden" => "true" 

или

aria: { hidden: true } 
+0

Я изменил в '= button_tag ("×", типа: "кнопка", HTML: {класс: "закрыть": => "истинный" "арию скрытая"}, данные: {уволить: «alert»}) ', и теперь это работает, но выглядит немного уродливо и странно. Это: '= button_tag (" × ", введите:" button ", html: {class:" close "," aria-hidden ":" true "}, data: {увольнять:" alert "})' did not Работа. – static

+0

Почему только «ария-скрытая»? все остальные атрибуты отлично работают с 'attr_name: value' – static

+0

Ничего странного здесь - тире - специальный символ. Он используется как знак/оператор минус. –

Смежные вопросы