Size: a a a

2020 March 31

SR

Shattered Ruby in RubyRush
друзья, такой вопрос
пытаюсь сделать автогенерацию ссылок и иконок рядом с ними, для чего прописал их имена в отдельные массивы, но что-то идёт не так и цикл прописывает каждое название ссылок со всеми иконками подряд. как это можно пофиксить
источник

SR

Shattered Ruby in RubyRush
вот код во вьюхе, который за всё это отвечает
<% @list.each do |linkName| %>
 <% @favicon.each do |className| %>
   <%= content_tag(:li) do %>
     <%= link_to "#" do %>
       <%= linkName %>
       <%= content_tag(:i, nil, class: ["fas", className]) %>
     <% end %>
   <% end %>
 <% end %>
<% end %>

linkName это название ссылок из массива
className это названия иконки, которые также прописаны в отдельном массиве
источник

N

Ni in RubyRush
Shattered Ruby
вот код во вьюхе, который за всё это отвечает
<% @list.each do |linkName| %>
 <% @favicon.each do |className| %>
   <%= content_tag(:li) do %>
     <%= link_to "#" do %>
       <%= linkName %>
       <%= content_tag(:i, nil, class: ["fas", className]) %>
     <% end %>
   <% end %>
 <% end %>
<% end %>

linkName это название ссылок из массива
className это названия иконки, которые также прописаны в отдельном массиве
два раза проходите по массиву
источник

N

Ni in RubyRush
не легче сделать что-то вроде hash-map, в которой ссылка будет вести сразу на фавикон?
источник

RM

R M in RubyRush
Не два а столько сколько размер первого массива даже)
источник

SR

Shattered Ruby in RubyRush
Ni
не легче сделать что-то вроде hash-map, в которой ссылка будет вести сразу на фавикон?
может и легче, если бы я знал как
источник

RM

R M in RubyRush
Есть такой метод zip может подойти. Тогда вам нужно будет по массиву массивов пройтись и вытащить по индексу соответствующие элементы
источник

RM

R M in RubyRush
Пгуглите про него
источник

N

Ni in RubyRush
Shattered Ruby
может и легче, если бы я знал как
просто создаете константу, что-то вроде
FAVICON = { foo: 'bar' }

и вызываете во вьюхе. только константу нужно поместить не во вьюху, а в соответствующий хелпер, как пример
источник

SR

Shattered Ruby in RubyRush
Сейчас посмотрю, спасибо
источник

А

Александр in RubyRush
а если уж массив? то тогда массив массивов [[link, ico_1], [link, ico_2]..]. Но круче будет заюзать ValueObject
источник

SR

Shattered Ruby in RubyRush
Ni
просто создаете константу, что-то вроде
FAVICON = { foo: 'bar' }

и вызываете во вьюхе. только константу нужно поместить не во вьюху, а в соответствующий хелпер, как пример
я так понимаю, что мне надо перечислить все значения в этой константе в виде хеша, где foo это имя ссылки, а bar это имя иконки
или не так
выглядит немного запутанно на данный момент для меня
источник

N

Ni in RubyRush
Shattered Ruby
я так понимаю, что мне надо перечислить все значения в этой константе в виде хеша, где foo это имя ссылки, а bar это имя иконки
или не так
выглядит немного запутанно на данный момент для меня
да, именно так
источник

N

Ni in RubyRush
тогда не нужно будет проходиться по отдельному массиву иконок
источник

А

Александр in RubyRush
ссылка в виде ключа не фонтан конечно )
источник

N

Ni in RubyRush
Александр
ссылка в виде ключа не фонтан конечно )
почему?
источник

N

Ni in RubyRush
это не ссылка
источник

N

Ni in RubyRush
а иконка
источник

SR

Shattered Ruby in RubyRush
это класс иконки, который даёт знать скрипту, какую иконку рендерить
источник

SR

Shattered Ruby in RubyRush
Ni
да, именно так
а потом как вызывать это всё
источник