我一直在尝试为我拿起的 Rails 项目学习 ruby 的诀窍。我有 C++ 经验,但仍在学习如何使用 Ruby,所以我现在为不理解 Ruby 及其细微差别而道歉。
我有一个散列,其中的元素包含另一个字符串散列......
def directors = {
gm: { pos: "General Manager", email: "123@abc.com" },
prod: { pos: "Production Director", email: "456@def.com" },
support: { pos: "Support Director", email: "789@xyz.com" }
}
end
在 html 中,我可以运行 ruby 代码来单独访问和输出每个相应的字符串......
<%= directors[:gm][:pos] %>
<%= directors[:gm][:email] %>
<%= directors[:prod][:pos] %>
<%= directors[:prod][:email] %>
<%= directors[:support][:pos] %>
<%= directors[:support][:email] %>
这是获取和输出每个元素的繁琐且手动的方法。我试图以更简洁的方式和方式编写此代码,以便它始终显示每个元素,而不管每个元素中有多少元素。我可以写directors.each来调用导向器内的每个元素,但我需要再次访问每个导向器元素内的每个元素。这是我能想到的最好的代码,但在语法上不正确。
<% directors.each do |director| %>
<% "#{director}" do |info| %>
<%= dirs[:"#{director}"][:"#{info}"] %>
<% end %>
<% end %>