2012-03-30 9 views
1

ich ein Formular für meine News-Artikel erstellt haben, die ich dann wie so meiner Titelseite rufenDisplay-Objekt innerhalb JQuery Newsticker Ruby on Rails

<li class="clearfix">      
<% @articles.each do |article| %>      
<h4><a href="#"><%= article.header %></a></h4>      
<p><%= article.created_at.strftime("%A %d %B %Y ")%></p>      
<p><%= article.message %></p>       
<a href="#" class="more">Read more</a>      
<% end %>      
</li> 

Aber ich möchte etwas ein bisschen Slicker verwenden und über gekommen Jquery Newsticker.

Nun ist die Ansicht für das sieht aus wie diese

<ul id="js-news" class="js-hidden">  
    <li class="news-item"><a href="#">This is the 1st latest news item.</a></li> 
    <li class="news-item"><a href="#">This is the 2nd latest news item.</a></li> 
    <li class="news-item"><a href="#">This is the 3rd latest news item.</a></li> 
    <li class="news-item"><a href="#">This is the 4th latest news item.</a></li> 
    </ul> 

Was ich möchte in der Lage sein, in der ersten li zu tun wird, um die neuesten Artikel nennen erstellt und in dem zweiten li Aufruf des nächste kürzlich erschienene Artikel und so weiter bis 4.

ich gespielt habe, um mit ihm ein wenig, aber alles, was ich scheine zu bekommen, ist der Text am Ende des Newsticker erscheinen, beginnend am Anfang nicht

Jede Beratung sehr geschätzt wird

Antwort

1

Ich denke das ist (vielleicht) was du redest.

# Model 
scope :recent, order(updated_at: 'DESC') 

# Controller 
@articles = Article.recent 

# Helper 
def populate_atricle 
    @articles.each do |article| 
    content_tag(:li, link_to(article.message, '#'), class: 'news-item') 
    end 
end 

# View 
<ul id="js-news" class="js-hidden"> 
    <%= populate_article %> 
</ul> 
+0

Die obige Art von Arbeiten für mich, aber wie würde ich die Anzahl der Listenelemente im Ticker auf nur die 10 neuesten beschränken? Gerade jetzt zeigt es die gesamte Datenbank voller Artikel und es bringt alles durcheinander. – Livi17