【发布时间】:2013-01-11 18:12:49
【问题描述】:
我正在使用 haml 3.1.4 和 haml-rails 0.3.5
我遇到的问题只出现在服务器(生产)和本地(测试)上,但没有出现在开发中(两者似乎都使用相同的 gem 版本)
=form_for @thing, :remote => true do |f|
=hidden_field_tag :template, 'thing'
%table
%thead
%tr
%th
Name
%th
=image_tag 'cancel.png'
%tbody
=f.fields_for :items do |item_fields|
%tr
%td
=f.text_field :name
%td
=f.submit 'Save'
它输出以下html保存文本:
<input type='hidden' value='thing' /><table><thead><tr><th>Name</th><th><img src='cancel.png.....' /></tr></thead>
接着是上面渲染的html。
如何缩小测试/生产和开发之间的差异?
有什么想法吗? :)
编辑: 值得一提的是,这是页面上“@thing”的第二种形式。第一个渲染得很好,第二个是问题所在。
【问题讨论】:
-
我认为您不应该在 form_for 行上有“=”。试试“-form_for”。我以前被这个绊倒过,虽然奇怪的是你在开发中看到了不同的行为。
-
您需要
=,因为它会输出表单 HTML 标记。 -
所以关闭
</thead>后的渲染输出都像&lt;tbody&gt;一样转义了?另外,您是否错过了结束</th>或者这是问题的一部分? -
我检查了生产 Gem.loaded_specs 的 haml 版本,它们与开发相同。我真的希望这是问题所在。
-
Haml 应该会生成收盘价
标签: ruby-on-rails haml