You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 12:00:05