我有一个看起来像这样的哈希:
{"Title"=>"Harry Potter", "Author"=>"Jk rowling", "Date Published"=>"1997"}
当一切正常时,这是html表:
现在,我只是迭代了th的键和td的值。
所以这是我的代码:
%table
%tr
- data.each do |key, array|
%th= key
%tr
- data.each do |key, array|
%td= array
这有效,但我的问题是:
感谢您的帮助!
答案 0 :(得分:1)
可能是nil
而不会生成th
或td
。你可以试试这个(注意,我并不完全熟悉你正在使用的视图宝石,所以我正在尝试它):
%table
%tr
- data.each do |key, array|
%th= key || " ".html_safe
%tr
- data.each do |key, array|
%td= array || " ".html_safe
答案 1 :(得分:1)
我会更喜欢这样做:
%table
%tr
- data.keys do |key|
%th= key || ' '
%tr
- data.values do |val|
%td= val || '<missing>'
使用keys
和values
以相同的顺序返回键及其各自的值,因此您的标题和数据将匹配。如果缺少某个密钥,
将有助于该列显示。如果缺少值<missing>
,则应显示<missing>
。
如果没有样本数据和代码中的工作示例,很难在不花费大量时间拼凑虚假数据,视图等的情况下显示更多内容。