使用本地和html标记渲染部分

时间:2015-03-29 14:02:32

标签: ruby-on-rails

我创建了一个我在视图中渲染的部分。我正在使用两个本地人:图标和路径。

我遇到的问题是我不知道如何传递以下参数:

"About", "https://www.google.com", target: "_blank", class: "medium button radius", id: "about_us" 

到本地路径。

任何帮助/提示,​​非常感谢。

没有本地人的代码

_footer.html.erb

  <div class="footer">
    <div class="row">
      <div class="small-12 columns">

        <div class="footer-icon">
          <span><%= fa_icon “home” %></span>
        </div>

        <div class="footer-button">
          <%= link_to "About", "https://www.google.com",
          target: "_blank", class: "medium button radius",
          id: "about_us" %>
        </div>
      </div>
    </div>
  </div>

about.html.erb

<% content_for :footer_class do %>
  <% render partial: 'layouts/footer',  %>
<% end %>

本地代码

_footer.html.erb

  <div class="footer">
    <div class="row">
      <div class="small-12 columns">

        <div class="footer-icon">
          <span><%= fa_icon icon %></span>
        </div>

        <div class="footer-button">
          <%= link_to path %>
        </div>
      </div>
    </div>
  </div>

about.html.erb

<% content_for :footer_class do %>
  <% render partial: 'layouts/footer', locals: {icon: "home", path: ? } %>
<% end %>

1 个答案:

答案 0 :(得分:1)

您可以构建哈希并访问视图中的值:

about.html.erb

<% path_hash = {
  label: "About",
  destinatoin: "https://www.google.com",
  target: "_blank",
  class: "medium button radius",
  id: "about_us" 
} %>
<% content_for :footer_class do %>
  <% render partial: 'layouts/footer', locals: {icon: "home", path_attrs: path_hash } %>
<% end %>

然后在_footer.html.erb

<div class="footer-button">
  <%= link_to path_attrs[:label], path_attrs[:destination], target: path_attrs[:target], id: path_attrs[:id], class: path_attrs[:class]  %>
</div>

不知道你为什么一开始就这样做。似乎随着时间的推移可能会变得混乱,但这应该为你做到了。