加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 模板文件无法在Rails 4中呈现form_for的结果

发布时间:2020-12-17 04:31:33 所属栏目:百科 来源:网络整理
导读:我正在重新创建这个rails教程中的步骤: http://www.youtube.com/watch?v=tUH1hewXnC0 如果您寻求7:35,您将看到用户创建的form_for块.当我添加该代码并在浏览器中查看页面时,该页面渲染得很好但是表单应该没有html – 甚至不是空标签.我已经确认这不是丢失迁
我正在重新创建这个rails教程中的步骤:
http://www.youtube.com/watch?v=tUH1hewXnC0

如果您寻求7:35,您将看到用户创建的form_for块.当我添加该代码并在浏览器中查看页面时,该页面渲染得很好但是表单应该没有html – 甚至不是空标签.我已经确认这不是丢失迁移或浏览器缓存的问题.

我已经简化了问题,现在我的show.html.erb模板文件只是:

<% form_for @post do |f| %>
    testing
    <% debugger %>
<%  end %>

<% for i in 0..5 %>
    <%= i %>
<% end %>

(第二个块只是为了确保渲染工作)

渲染的html是:

... bunch of header stuff here ...
<body>

0
1
2
3
4
5

</body>
</html>

“测试”不会被渲染为HTML的一部分.

我输入了调试器行,所以我可以使用调试器gem和rails server –debugger.使用它让我达到这一点:

[196,205] in /Users/Ben/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0/lib/action_view/helpers/capture_helper.rb
   196            buf = ActionView::OutputBuffer.new
   197            buf.force_encoding(output_buffer.encoding) if output_buffer
   198          end
   199          self.output_buffer,old_buffer = buf,output_buffer
   200          yield
=> 201          output_buffer
   202        ensure
   203          self.output_buffer = old_buffer
   204        end
   205  
(rdb:48) p output_buffer
"    testingn"

因此,form_for正在执行,但不会以某种方式一直传递到输出html. (这就是为什么我不打算告诉你我正在初始化@post.)

我在网上找不到类似的问题,但我可能只是找不到合适的东西.有任何想法吗?

解决方法

你错过了=符号:<%= form_for @post do | f | %GT;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读