Я пишу приложение для рельсов, которое я намерен использовать для активного содержимого, чтобы заполнить боковую панель. В частности, он предназначен для отображения последних сообщений, отправленных пользователями приложения.Активный контент для боковой панели
Прямо сейчас, я просто пытаюсь заставить боковую панель отображать последние сообщения, независимо от того, какой контроллер обрабатывает страницу.
просмотров/макеты/application.html.erb
<!DOCTYPE html>
<html lang="en">
<%= render 'layouts/head' %>
<body>
<%= render 'layouts/nav' %>
<div class="container">
<div class="row">
<%= render 'shared/sidebar_users' %>
<div class="col-lg-6">
<%= bootstrap_flash %>
<%= yield %>
</div>
<%= render 'shared/sidebar_messages' %>
</div><!--/row-->
<%= render 'layouts/footer' %>
</div> <!-- /container -->
<%= render 'layouts/debug' %>
</body>
</html>
просмотров/общий/_sidebar_messages.html.erb
<div class="col-lg-3">
<div class="well sidebar-nav">
<h3>Recent Posts</h3>
<%= render partial: "messages/messages", locals: { display_actions: false } %>
</div><!--/.well -->
</div><!--/span-->
просмотров/сообщений/_messages.html.erb
<table>
<thead>
<tr>
<th>Creator</th>
<th>Content</th>
<% if @display_actions %>
<th colspan="3">Actions</th>
<% end %>
</tr>
</thead>
<tbody>
<% @messages.each do |message| %>
<tr>
<td><%= message.creator.full_name %></td>
<td><%= message.content %></td>
<% if display_actions %>
<td><%= link_to 'Show', message %></td>
<td><%= link_to 'Edit', edit_message_path(message) %></td>
<td><%= link_to 'Destroy', message, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<% end %>
</tr>
<% end %>
</tbody>
</table>
Обратите внимание, что код разрывается в этой строке, указывая, что @messages равно нулю и, следовательно, не имеет каждого метода.
<% @messages.each do |message| %>
Сообщите нам, если один из приведенных ниже ответов полезен для вас. – SsouLlesS
@SsouLlesS сделаю. – Nuclearman