【问题标题】:"ActionView::Template::Error (Ruby statement not allowed" on iteration using ERB_LINT ruby on rails gem使用 ERB_LINT ruby​​ on rails gem 迭代时出现“ActionView::Template::Error (Ruby 语句不允许”)
【发布时间】:2018-09-28 22:16:13
【问题描述】:

成功安装并使用 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| %>

这有什么问题?为什么不允许这个 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 中,然后在迭代中使用帮助器 html_attributes 填充 bodydata 属性

错误是

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

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

第62行有&lt;% data_body_bg_imgs.each do |img_hash| %&gt;

【问题讨论】:

  • 也许真正的问题实际上在第 190 行,其中包含一个变量赋值。
  • 而且,对 html.erb 文件中的变量进行赋值不正确吗?

标签: ruby-on-rails sublimetext3 rubocop


【解决方案1】:

根据ERB Lint README,它是用命令bundle exec erblint [options]而不是rails s运行的,所以看起来有问题。

'quoted_value' 错误可能与对第 189 行和第 190 行中没有插值的字符串使用双引号 (") 有关。

【讨论】:

  • 谢谢,我会尽快复习并告诉你问题
  • 是的,没错。我一直在使用它。现在我没有错误。尽管使用起来有点困难,但最后我还是使用了 --autocorrect 选项并 git 了它。但是 erb_lint 破坏了(吃掉)一些代码!!!
  • 仍然无法尝试,因为我在此分支中做了很多更改。我会说如果更改这些 " for ' 不会在 rails server 上产生错误
  • 修复双引号和空格...等后,不起作用。似乎 erb_lint 不喜欢 html 标签内的迭代。
猜你喜欢
  • 1970-01-01
  • 2018-02-10
  • 2013-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 2017-06-15
相关资源
最近更新 更多