«ActionView :: Template :: Error (инструкция Ruby не разрешена» на итерации с использованием ERB_LINT ruby ​​на геме rails - PullRequest
0 голосов
/ 29 сентября 2018

После успешной установки и использования rubocop я заметил, что rubocop не действует на файлы .html.erb.

Поэтому я нашел erb_lint gem и, несмотря на это, не имеет дружественной интеграции вSublimetext, и, как я думал, не полностью интегрирован в rubocop, мне удалось заставить его работать.

Не уверен, что это правильный путь: чтобы получить ошибки, мне нужно запустить сервер rails s, и, если обнаружена ошибка, приложение вылетает, и в консоли я вижу ошибки.Проблема в этой ошибке:

ActionView::Template::Error (Ruby statement not allowed.
In 'quoted_value' on line 188 column 0:
<%                 company.families.ordered.each do |f| 

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^):

и вот моя строка 188 (и более)

<% company.families.ordered.each do |f| %>

enter image description here

* 1018Что в этом плохого?Почему это утверждение ruby ​​не разрешено?

Я полагаю, что у всех есть итерации по представлениям ruby ​​on rails

--------------- 17-10-2018- обновлено, все еще с той же ошибкой в ​​более ранней строке

После исправления "и" и пробелов ..., как просит erb_lint, и с использованием помощника html_attributes , как он спрашивает, я тожевсе еще с той же ошибкой:.

Что с этим не так?:

  <% data_body_bg_imgs=data_body_bg() %>
  <body
    <% data_body_bg_imgs.each do |img_hash| %>
      <%= html_attributes(img_hash) %>
    <% end %>
    data-menu-bg-color="<%= preference.menu_bg_color %>"
    data-theme="<%= preference.theme %>"
    data-cap-opacity="<%= preference.menu_opacity %>"

Что я делаю, очень просто: сохранить массив хэшей в data_body_bg_imgs, а затем, витерация Я заполняю data атрибуты body с помощью помощника html_attributes

ошибка:

ActionView::Template::Error (Ruby statement not allowed.
In 'tag' on line 62 column 0:
<%     data_body_bg_imgs.each do |img_hash| 

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^):

, в строке 62 есть <% data_body_bg_imgs.each do |img_hash| %>

1 Ответ

0 голосов
/ 08 октября 2018

Согласно ERB Lint README , он запускается командой bundle exec erblint [options], а не rails s, поэтому похоже, что что-то не так.

'quoted_value'ошибка может быть связана с использованием двойных кавычек (") для строк, которые не имеют интерполяции в строках 189 и 190.

...