2015-03-29 4 views
1

Я создал часть, которую я рендеринга на мой взгляд. Я использую двух местных жителей: значок и путь.Render partial with locals и html tags

Вопрос Я сталкиваюсь, что я не знаю, как передать следующие параметры:

"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. Еврорадио

<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

Вы могли бы построить хэш и получить доступ к значениям в представлении:

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 %> 

Тогда in _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> 

Не знаете, почему вы это делаете в первую очередь. Похоже, что со временем это может стать беспорядочным, но это должно сделать трюк для вас.

+0

Спасибо. Все работает отлично, за исключением ссылки на google. Любая причина, почему это может быть? Это html, который сгенерирован: 'contact' Я удалил цель для этого примера. Причина, по которой я делаю это, состоит в том, что у меня есть три разных нижних колонтитула, и единственные различия между ними - это значок и ссылка. Прямо сейчас у меня есть три разных элементарных элемента для нижних колонтитулов, так что это просто повторяющийся код. Я новичок, так счастлив услышать другие предложения. Thanks – ECsAUtaVku

+0

Не знаете, почему атрибут href не работает. Я отредактировал ответ сразу после того, как я разместил его, поэтому, если вы посмотрите на него после публикации этого комментария, он должен работать нормально. –

+0

Я выяснил проблему через несколько часов. Я скопировал и вставил ваш код, чтобы я не делал никаких ошибок, но «назначение» написано неправильно в вашем коде, поэтому href не работает. После «О» также отсутствует запятая. Спасибо за помощь. – ECsAUtaVku