2012-12-03 29 views
2

有沒有辦法在紅寶石繞過application.html.erb但仍然使用控制器的相應視圖?渲染布局錯誤,但仍然加載視圖

現在我有

render :layout => false 

但我從視圖以下錯誤:

undefined method `each' for nil:NilClass 

下面是我目前的職位控制器:

class PostsController < ApplicationController 
    def index 
    @posts = Post.where('is_deleted' => false, 'is_hidden' => false).limit(15).order('created_at DESC') 
    end 
    def show 
    @posts = Post.find(params[:id], :conditions => 'is_deleted = false') 
    end 
    def page 
    render :layout => false 
    @posts = Post.where('is_deleted' => false, 'is_hidden' => false).limit(15).offset(params[:page].to_i * 15).order('created_at DESC') 
    end 
end 
+0

您確定在刪除佈局指令時沒有得到相同的錯誤嗎?我不認爲這個錯誤與使用':layout => false'有關。 –

+0

是的,它可以工作,如果我刪除'render:layout => false',當然唯一的問題是它包括CSS(我已經包含在application.html.erb中) – bswinnerton

+0

@BenjaminUdinktenCate,我已經包含了我的控制器如果它有任何幫助。 – bswinnerton

回答

4
def page 
    render :layout => false 
    @posts = Post.where('is_deleted' => false, 'is_hidden' => false).limit(15).offset(params[:page].to_i * 15).order('created_at DESC') 
end 

應是

def page 
    @posts = Post.where('is_deleted' => false, 'is_hidden' => false).limit(15).offset(params[:page].to_i * 15).order('created_at DESC') 
    render :layout => false 
end