routes.rb
root :to => 'articles#index'
Micropost模型:
class Micropost < ActiveRecord::Base
attr_accessible :content, :user_id
belongs_to :user
validates :user_id, presence: true
validates :content, presence: true, length: { maximum: 100 }
end
文章模型:
class Article < ActiveRecord::Base
attr_accessible :content, :title
validates :title, :presence => true,
:length => { :minimum => 2 }
belongs_to :user
end
articles_controller.rb的索引define_method
def index
@articles = Article.paginate(:page => params[:page],
:per_page => 5,
:order => 'created_at DESC')
respond_to do |format|
format.html
format.json { render json: @articles }
end
end
虽然我不怎么写我的articles_controller #index和索引视图。
答案 0 :(得分:0)
究竟是什么问题?
如果您想在一个页面上使用所有文章,只需不要使用分页,而是:
Article.all
如果您希望按create_at时间戳排序的所有文章按降序排列:
Article.order("created_at DESC")
或者你想要一个不同排序的第二页?然后我会创建一个新的路由,它接受一个参数来告诉你想要的动作。然后在控制器内部:
if(params[:order_by_created_time])
# ...
else
# ...
end
respond_to do |format|
# ...
end
如果您的视图已在使用(并显示微博):
def index
@articles = Article.order("created_at DESC")
respond_to do |format|
format.html
format.json { render json: @articles }
end
end
答案 1 :(得分:0)
鉴于您的代码有效,您应该只需将updated_at
更改为created_at
def index
@posts = Post.paginate(:page => params[:page],
:per_page => 5,
:order => 'created_at DESC')
respond_to do |format|
format.html
format.json { render json: @posts }
end
end