Существуют и zip и разархивировали исполняемые файлы (а также грузоподъемность судна других полезных приложений) в пакете UnxUtils, доступном на SourceForge ( http://sourceforge.net/projects/unxutils ). Скопируйте их в местоположение в Вашем ПУТИ, таком как 'c:\windows', и Вы будете в состоянии включать их в свои сценарии.
Это не идеальное решение (или тот, который Вы попросили), но достойное обходное решение.
Как указал 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 вы просто меняете местами комментарии на странице индекса, прежде чем они будут отображены. Они по-прежнему извлекались из базы данных в исходном порядке (сначала самые старые), и они по-прежнему будут отображаться в этом порядке везде, где вы имеете доступ к комментариям к публикации в своем приложении.
Похоже, вы можете изменить порядок, используя find
: что-то вроде Post.find (: all,: order => "created_at DESC")
. То же самое относится и к комментариям.
@posts = Post.find(:all, :include => :comments, :order => "published_at DESC")