关于Ruby hash的IF / ELSE条件

时间:2016-09-09 02:07:52

标签: html ruby-on-rails if-statement

我想设置一个带有'type'的Ruby部分,然后根据该类型,使用已定义的元素(例如图标,特定标签等)吐出<li>

这是我工作的.erb chunk

      <ul>
        <% if locals.has_key? :sermon_links %>
          <% sermon_links.each do |link| %>

            <% if locals.has_key? :type == "download" %>

            <li>
              <i class="material-icons">music_note</i>
              <a href="<%= link[:hyperlink] %>">Download this sermon (~5mb)</a>
            </li>

            <% else %>

            <% if locals.has_key? :type == "passage" %>

            <li>
              <i class="material-icons">link</i>
              <a href="<%= link[:hyperlink] %>"><%= sermon_passage %> on Bible Gateway</a>
            </li>

            <% end %>

          <% end %>
        <% end %>
      </ul>

然后我会在HTML文件中调用它:

  :sermon_links => [
    { :type => "download", :hyperlink => "https://www.biblegateway.com/resources/matthew-henry/John" }
  ]

我99%肯定问题是我如何设置'IF类型等于此'(<% if locals.has_key? :type == "download" %>)我是Ruby on Rails的新手,所以在这方面的任何帮助都会非常感激:)谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你可以改写如下:

'