In meiner Rails Blog App habe ich meinen Willkommens-Controller und zeige index.html.erb
an. Und ich habe meine Artikel Controller und Ansichten index.html.erb
und show.html.erb
.So zeigen Sie den neuesten Artikel in der Rails App in einer anderen Ansicht an
Meine Artikelansicht hat zwei Ansichten, eine für die Auflistung der Artikel index.html.erb
und die andere für die Anzeige der Artikel show.html.erb
. Wenn Artikel in meiner Artikelansicht aufgelistet werden, funktioniert alles perfekt. Aber mein Ziel ist es, den neuesten Artikel in einem Popup-Modal in meiner Willkommensansicht index.html.erb
aufzulisten.
Unten ist der Code für Artikel in den Artikeln Auflistung
<% @articles.reverse.each do |article| %>
<div class="w3-quarter">
<div class="panel panel-default" style="width: 300px; min-height: 300px;">
<div class="panel-heading">
<h3><%= article.title %></h3>
<p class="w3-opacity"><%= article.created_at.strftime("%b %d, %Y") %> | Comments <span class="label label-primary"><%= article.comments.count %></span> </p>
</div>
<div class="panel-body">
<p><%= article.text.first(250) %> ...</p>
<%= link_to 'Read More', article_path(article), class: 'btn btn-primary btn-block' %>
</div>
</div>
</div>
<% end %>
sehen und unter dem Code ist es, die neuesten Artikel in meiner willkommen Ansicht für die Auflistung
<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<h2><%= @article.title %></h2>
<p class="w3-opacity">Posted on <%= @article.created_at.strftime("%b %d, %Y") %></p>
<hr>
<p><%= @article.text.first(500) %></p>
</div>
</div>
</div>
</div>
ich aus der folgenden Fehler angezeigt meine willkommen index.html.erb
:
undefined method `title' for nil:NilClass
Irgendwelche Ideen? Wahrscheinlich setzen
Die @article Variable gleich Null ist. Weisen Sie es etwas zu? – urielSilva
Zeigen Sie uns den 'welcome_controller' Code – Pavan
Ich habe eigentlich nichts zugewiesen. Wie würde ich meinen neuesten Artikel in '@ article' speichern? In meinem Artikel/index.html.erb speichert es einen Artikel in Artikel mit einer for-Schleife. Aber ich möchte nicht jeden Artikel durchgehen, ich will nur das Neueste. – Michael