Обратный порядок дисплея записей в блоге и комментариев, Ruby on Rails

Существуют и zip и разархивировали исполняемые файлы (а также грузоподъемность судна других полезных приложений) в пакете UnxUtils, доступном на SourceForge ( http://sourceforge.net/projects/unxutils ). Скопируйте их в местоположение в Вашем ПУТИ, таком как 'c:\windows', и Вы будете в состоянии включать их в свои сценарии.

Это не идеальное решение (или тот, который Вы попросили), но достойное обходное решение.

6
задан bgadoci 18 November 2009 в 03:01
поделиться

3 ответа

Как указал jtbandes, чтобы перевернуть сообщения в индексе, вы должны изменить в строке действия индекса следует читать:

@posts = Post.all(:include => :comments, :order => "created_at DESC")

Чтобы перевернуть список ваших комментариев, есть две возможности.

Вариант 1: В вашей модели публикации вы можете объявить свои отношения следующим образом:

class Post < ActiveRecord::Base
  has_many :comments, :order => "created_at DESC"
end

Вариант 2 : В представлении индекса просто переверните массив комментариев к каждому сообщению перед их отображением:

<% @posts.each do |post| %>
  <%= render :partial => post %>
  <%= render :partial => post.comments.reverse %>
<% end %>

Параметры имеют разные варианты использования. В варианте 1 вы говорите, что во всем приложении, каждый раз, когда вы обращаетесь к комментариям к публикации, эти комментарии должны извлекаться из базы данных в указанном порядке. Вы как бы говорите, что это внутреннее свойство комментариев в вашем приложении - сообщения содержат много комментариев, которые по умолчанию упорядочиваются в первую очередь новейшими.

В варианте 2 вы просто меняете местами комментарии на странице индекса, прежде чем они будут отображены. Они по-прежнему извлекались из базы данных в исходном порядке (сначала самые старые), и они по-прежнему будут отображаться в этом порядке везде, где вы имеете доступ к комментариям к публикации в своем приложении.

20
ответ дан 8 December 2019 в 03:09
поделиться

Похоже, вы можете изменить порядок, используя find : что-то вроде Post.find (: all,: order => "created_at DESC") . То же самое относится и к комментариям.

0
ответ дан 8 December 2019 в 03:09
поделиться
@posts = Post.find(:all, :include => :comments, :order  => "published_at DESC")
3
ответ дан 8 December 2019 в 03:09
поделиться
Другие вопросы по тегам:

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