Как перебрать 2 разных объекта в одном и том же в Rails?

Я пытался перебрать 2 разных объекта в Rails, у меня есть 2 ресурса: «Новости» и другие «статей», поэтому я хочу, чтобы 2 выполнялись параллельно в одном и том же разделе и добавлялись в порядке Дата публикации в моем индексе, исследуя, мне удалось найти возможность для создания взаимодействия массива следующим образом:

lista = [0,1,2,3,4,5]
lista.each do |number|
  puts "Iteración número #{number}" 
end

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

<% list = [@enterprise.articles, @enterprise.news] %>
<% list.each do |article, new| %>
<%= article.name %>
<%= new.name %>
<% end %>

Однако эта форма не совсем правильная, видимо, я надеюсь, что вы поможете мне с беспокойством, я буду внимателен к вашим ответам, приветам! = D

PS: мне удалось сделать это с помощью:

<% @enterprise.articles.zip(@enterprise.news).each do |(article, new)| %>

    <h5><%= article.name %></h5>
    <h5><%= new.name %></h5>

<% end %>

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

0
задан 18.01.2017, 05:46
0 ответов

Так как использовать метод Array#zip чтобы мочь сочетать каждый элемент нескольких arrays. Здесь у тебя есть маленькая демонстрация:

a = [1, 2, 3]
b = [4, 5, 6]
a.zip(b)  #=> [[1, 4], [2, 5], [3, 6]]

Для твоего особенного случая, было бы достаточно делать следующее:

<% list = [@enterprise.articles, @enterprise.news] %>
<% list[0].zip(list[1]) do |article, new| %>
  <%= article.name %>
  <%= new.name %>
<% end %>

Привет.

0
ответ дан 03.12.2019, 17:38

Ему удайтесь решить это делая это этой формой, и пойди совершенно:

enterprises_controller.rb

def show
  @items = @enterprise.jobs + @enterprise.products
  @items = @items.sort_by do |item| item.created_at end
  @items = @items.reverse
end

show.html.erb

<% @items = @items.each do |item| %>
  <%= item.name %> | <%= item.created_at %> <br>
<% end %>
0
ответ дан 03.12.2019, 17:38

Теги

Похожие вопросы