我收到以下错误,
非法嵌套:不能同时将内容与%p放在同一行并嵌套在其中。这是我的代码
- @docs.each do |doc|
%h2= link_to doc.title, doc
%p= time_ago_in_words(doc.created_at)
%p= truncate(doc.content, length:50)
= link_to "Create Doc", new_doc_path
[当您将内容与hml中的标签提供在同一行时,您说的是'此标签的内容将仅是该行中的内容-立即关闭标签'。所以
%p hello
成为
<p>hello</p>
如果标签的行数超过1,则使用换行符和缩进来指示该块的内容
%p
Hello
World
成为
<p>Hello\nWorld</p>
您正在做的是尝试在此处同时使用它们。您正在为简写标签提供内容,但也会缩进,好像您打算继续向p标签添加内容一样。
要解决此问题,您需要使用多行语法(如果这是您的意图)或从link_to中删除缩进。
- @docs.each do |doc|
%h2= link_to doc.title, doc
%p= time_ago_in_words(doc.created_at)
%p
= truncate(doc.content, length:50)
= link_to "Create Doc", new_doc_path