В настоящее время не удается передать информацию от контроллера циклов в cycle_nominees_table.html.erb с использованием партиалов.
Данные определены в моем методе show controller.
А у метода show есть информация в @nominations_data и @ nominations_team_data.
Почему мой _cycles_nominations_table.html.erb не может получить доступ к nominations_data, которые передаются в партиал?
Я использовал эту ссылку для направления.
Код ниже:
приложение / контроллеры / cycles_controller.rb
def show
...
@nominations_data = {}
@nominations.each do |nomination|
@nominations_data[nomination.for_user_id] ||= {}
@nominations_data[nomination.for_user_id][:nominee] ||= nomination.for_user
if user_is_admin
@nominations_data[nomination.for_user_id][:nominations] ||= []
@nominations_data[nomination.for_user_id][:nominations].push nomination
end
if user_is_admin_or_reviewer
@nominations_data[nomination.for_user_id][:count] ||= 0
@nominations_data[nomination.for_user_id][:count] += 1
end
end
@nominations_data = @nominations_data.sort_by { |_nid, nomination| nomination[:nominee].name }
@nominations_team_data = {}
@team_nominations.each do |nomination|
@nominations_team_data[nomination.for_user_id] ||= {}
@nominations_team_data[nomination.for_user_id][:nominee] ||= nomination.for_user
if user_is_admin
@nominations_team_data[nomination.for_user_id][:nominations] ||= []
@nominations_team_data[nomination.for_user_id][:nominations].push nomination
end
if user_is_admin_or_reviewer
@nominations_team_data[nomination.for_user_id][:count] ||= 0
@nominations_team_data[nomination.for_user_id][:count] += 1
end
end
@nominations_team_data = @nominations_team_data.sort_by { |_nid, nomination| nomination[:nominee].name }
end
приложение / просмотров / циклы / show.html.erb
<div class="container-float-right-small" id="cycle-nominees-section">
<h2 class="inline">Nominees for <%= @cycle.name %></h2>
<h4 class="inline"> - (<%= @cycle.votes_per_reviewer %> votes allowed)</h4>
<h5> Indivdual Nominees: </h5>
<!-- <%= render "cycles/cycle_nominees_table" %>-->
<%= render partial: "cycles/cycle_nominees_table", locals: { nominations_data: @nominations_data } %>
<h5> Team Nominees: </h5>
<!-- <%= render "cycles/cycle_nominees_table" %>-->
<%= render partial: "cycles/cycle_nominees_table", locals: { nominations_data: @nominations_team_data } %>
</div>
приложение / просмотров / циклы / _cycle_nominees_table.html.erb
<% if nominations_data.empty? %>
<th class="center" colspan="4"><h3>There are no nominees <%= "for cycle '#{@cycle.name}'" if @cycle %></th>
<% end %>
</thead>
<tbody>
<% nominations_data.each do |nid, data| %>
<tr id='<%= "nominee-row-#{nid}" %>' class="nominee-row">
<% if user_is_reviewer && @cycle.voting_open %>
<td class="center">
<% nomination_icon_class = "voted_for" if Vote.where(cycle_id: @cycle.id, by_user_id: current_user.id, for_user_id: data[:nominee].id).count > 0 %>
<span class="glyphicon glyphicon-check pointer <%= nomination_icon_class %>" id=<%= "vote_for_nominee_#{nid}" %> onclick="<%= "Vote.send_vote_data(this, #{data[:nominee].id}, #{@cycle.id})" %>"></span>
</td>
<% end %>