Ruby on rails 哈希显示相应的键和值

Ruby on rails 哈希显示相应的键和值,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有一个如下所示的散列: {"Title"=>"Harry Potter", "Author"=>"Jk rowling", "Date Published"=>"1997"} %table %tr - data.keys do |key| %th= key || ' ' %tr - data.values do |val| %td= val || '<missing>'

我有一个如下所示的散列:

{"Title"=>"Harry Potter", "Author"=>"Jk rowling", "Date Published"=>"1997"}
%table
  %tr
    - data.keys do |key|
        %th= key || ' '

  %tr
    - data.values do |val|
        %td= val || '<missing>'
以下是一切正常时的html表:

现在,我只是迭代th的键和td的值

这是我的代码:

%table
  %tr
    - data.each do |key, array|
        %th= key

  %tr
    - data.each do |key, array|
        %td= array
这是可行的,但我的问题是:

  • 如果某个值为空,则会将下一个值放在相应键下方,而不是将该列留空。因此,如果Author的值保留为空,那么1997将转移到表中Author的下面

谢谢你的帮助

它可能是
nil
,并且不生成
th
td
。你可以试试这个(注意,我对你正在使用的view gem不太熟悉,所以我尝试一下):


我会这样做:

{"Title"=>"Harry Potter", "Author"=>"Jk rowling", "Date Published"=>"1997"}
%table
  %tr
    - data.keys do |key|
        %th= key || ' '

  %tr
    - data.values do |val|
        %td= val || '<missing>'
使用
以相同的顺序返回键及其各自的值,以便标题和数据匹配。如果缺少键,
将帮助显示该列。如果某个值丢失
丢失
应导致显示


如果代码中没有示例数据和工作示例,那么如果不花费大量时间拼凑虚假数据、视图等,就很难显示更多内容。

您的视图代码是否使用了特定的gem?这不是标准的Rails视图格式。我们需要看一个更全面的数据示例。显示一些缺少值的行。@mrbratch,它的haml而不是erb。这就是你的意思吗?