Rails项目创建text area后浏览器显示一行代码是什么原因?
问题根因
你遇到的输出问题是第一行遍历代码误用了带输出的ERB标签:
- ERB语法中,
<% %>仅执行内部的Ruby代码,不会将执行结果输出到页面; <%= %>会在执行代码后,将代码的返回值直接渲染到HTML页面中;- Ruby的
Array#each方法执行完成后的返回值就是被遍历的数组本身,所以你页面上才会输出那串序列化后的Element对象数组内容。
修复方法
把第一行代码开头的<%=改成不带等号的<%即可,修改后的完整代码如下:
<% @post.elements.each do |element|%> <% if element.persisted?%> <%= form_with(model: [@post, element]) do |form|%> <%= form.text_area :content %> <%= form.submit "save", class: 'btn btn-primary'%> <%end%> <%end%>
内容的提问来源于stack exchange,提问作者Allan Solitei
相关产品推荐
相关产品推荐

