Raylar konusunda yeniyim, bu yüzden yardıma ihtiyacım var. Yorumlar ve hatta bazı AJAX zilleri ve ıslıklarıyla bir blog oluşturmak için birkaç dersi takip ettim ve umarım kolay olan bir şeye takılıyorum. Hem bloglar hem de yorumlar için varsayılan ekran, en eski olanı listelemektir. En son girişleri ve en yeni yorumları en üstte göstermek için bunu nasıl tersine çeviririm? Bunun denetleyici veya modelin bir işlevi olup olmadığını bilme. Bazı özelleştirme yaptım, işte burada yardımcı olan denetleyici .rb dosyaları için kod.Blog girişleri ve yorumları ekran görünümü tersine çevrilir, Ruby on Rails
YORUMLAR KONTROL
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create!(params[:comment])
respond_to do |format|
format.html { redirect_to @post}
format.js
end
end
end
mesajlar KUMANDA Eğer find
kullanarak sırasını tersine çevirebilir gibi görünüyor
class PostsController < ApplicationController
before_filter :authenticate, :except => [:index, :show]
# GET /posts
# GET /posts.xml
def index
@posts = Post.all(:include => :comments)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @posts }
format.json { render :json => @posts }
format.atom
end
end
# GET /posts/1
# GET /posts/1.xml
def show
@post = Post.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @post }
end
end
# GET /posts/new
# GET /posts/new.xml
def new
@post = Post.new
respond_to do |format|
format.html { redirect_to @post}
format.js
end
end
# GET /posts/1/edit
def edit
@post = Post.find(params[:id])
end
# POST /posts
# POST /posts.xml
def create
@post = Post.new(params[:post])
respond_to do |format|
if @post.save
flash[:notice] = 'Post was successfully created.'
format.html { redirect_to(@post) }
format.xml { render :xml => @post, :status => :created, :location => @post }
else
format.html { render :action => "new" }
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
end
end
end
# PUT /posts/1
# PUT /posts/1.xml
def update
@post = Post.find(params[:id])
respond_to do |format|
if @post.update_attributes(params[:post])
flash[:notice] = 'Post was successfully updated.'
format.html { redirect_to(@post) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
end
end
end
# DELETE /posts/1
# DELETE /posts/1.xml
def destroy
@post = Post.find(params[:id])
@post.destroy
respond_to do |format|
format.html { redirect_to(posts_url) }
format.xml { head :ok }
end
end
private
def authenticate
authenticate_or_request_with_http_basic do |name, password|
name == "admin" && password == "secret"
end
end
end
Bu gerçekten yararlı bir cevaptı ve işe yaradı. Bir sorum daha var (üzgünüm). Show.html.erb üzerinde çalışmak için AJAX kurulumum var. Alttaki yerine yeni yorumu eklemek için bunu alamıyorum. Birkaç şey denedim ama burada hızlı bir kelime var mı? – bgadoci
AJAX'i nasıl yapıyorsunuz? RJS veya ??? Hala blog eğiticisini takip ediyorsanız, sadece şunu değiştirmek istersiniz: aşağıdan yukarıya: create.js.rjs'deki ilk satırın üstüne ... JS'nizi başka bir şeye çevirmişseniz, yeni bir soru göndermeye değer olabilir. –
Bunlar, 'Comment' modelinin kendi içinde' default_scope 'yöntemini kullanmak olan üçüncü bir seçenektir. default_scope: order => 'created_at' –