迭代哈希表的哈希表以在视图中显示

时间:2015-08-10 13:50:18

标签: ruby-on-rails ruby postgresql hash iteration

我有一个哈希表,其中键是与模型对应的ID,值是“none”,或者是具有与上面相同属性的另一个哈希表。每个模型都有一个字段,它是另一个模型的更多ID的数组,也可以有一个其他ID的数组作为字段,依此类推(树)。我编写了一个迭代链接模型的函数,并创建了一个ID的哈希表。

以下是哈希表的示例:

{301=>{304=>"none", 305=>{500=>"none", 501=>"none", 502=>"none"}, 306=>"none"}, 302=>"none", 303=>{400=>"none", 401=>"none", 402=>"none"}}

ID为301的模型有一个字段:[304,305,306],ID为305的模型有一个字段:[500,501,502]。

我需要编写一个函数来帮助显示与这些ID对应的模型的名称,在树状结构中(可扩展/可折叠菜单可以工作)。我在rails项目中将这个函数写在哪里才能在我的视图文件中使用它?

这不只是遍历哈希表,我需要在视图文件中显示每个模型的名称。

1 个答案:

答案 0 :(得分:2)

您要从视图中调用的函数将存储在您的帮助文件中...例如app/helpers/applicaton_helper.rb

看起来像......

module ApplicationHelper
  def parse_my_hashes(this_hash)
    ... # your code here
  end
end

然后,您可以在视图中调用此帮助程序。

<%= parse_my_hashes(@some_hash) %>

如果您需要的信息不仅仅是哈希值,那么您可以将更多信息作为附加参数传递给函数。