ruby-on-rails - Ruby on Rails:呈现模板时遇到语法错误:
问题描述
晚安。我正在做 RoR 的入门指南,但是我遇到了一个问题:当我单击重定向到表单的新文章按钮时,Rails 会抛出“在呈现模板时遇到语法错误”。new.html.erb 代码是
<h1>New Article</h1>
<%= form_with scope: :article, url: articles_path, local: true do |form| %>
<%= if @article.errors.any? %>
<div id="error_explanation">
<h2>
<%= pluralize(@article.errors.count, "error") %>
prohibited this article from being saved:
</h2>
<ul>
<% @article.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<P>
<%= form.label :title %><br>
<%= form.text_field :title %>
</p>
<p>
<%= form.label :text %><br>
<%= form.text_area :text %>
</p>
<p>
<%= form.submit %>
</p>
<% end %>
<%= link_to 'Back', articles_path %>
该代码与指南的代码相同,所以我不知道错误可能在哪里。如果有任何帮助,我还会附上错误截图。 当我想创建新文章时出现 Rails 错误消息
解决方案
这里有两个问题:
条件语法错误
if
(不需要使用=
)屏幕截图中的额外
\n
字符
将您的 5 行更改app/view/articles/new.html.erb
为:
<% if @article.errors.any? %>
<% %>
执行 Ruby 代码
<%= %>
执行 Ruby 代码并打印出来
另请阅读关于SO的差异
推荐阅读
- json - 如何使用 jq 合并两个 JSON 对象?
- c# - 与 System.Byte 或 String 等内置类型相比,使用像 Direction 这样的自定义枚举有什么好处?
- hyperledger-fabric - Hyperledger Fabric:是否可以在不使区块链饱和的情况下保存数百万个位置寄存器?
- asp.net - 为什么检查会话变量中的空引用会导致 ArgumentOutOfRangeException?
- vue.js - 从 apollo 缓存读取查询,查询尚不存在,但所有信息都已存储在缓存中
- r - R:从 4 个向量运行循环以输出 4 个数据表
- google-chrome-devtools - 在评估 HTMLCollection 时,为什么 Chrome DevTools 不显示 item 和 namedItem 方法?
- python - 创建一个函数以根据 Pandas 数据框中的列和标签执行分组和排序
- java - 我怎样才能让列表(搜索)告诉我它是否在另一个列表(主)中?
- php - Eloquent:如何从 ::with() 结果中获取“WhereNotNull”