2014-01-27 61 views
1

我想要的JBuilder集成到Rails 3.2的項目。我已經安裝了這個gem,並且我已經在app/views/books/index.json.jbuilder上寫過一個JBuilder文件。如何渲染JSON的JBuilder對Rails 3.2

這裏是我的索引行動:

def index 

    @books = Book.all 

    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @books } 
    end 
    end 

這似乎調用Book默認as_json方法來呈現響應。我需要改變什麼來告訴Rails使用我的JBuilder模板呢?

回答

7

刪除你傳遞給format.json塊。您正在使其忽略您的jbuilder文件,而是返回json: @books的結果作爲響應。如果離開了攔網出:

respond_to do |format| 
    format.html # index.html.erb 
    format.json # no block here 
end 

然後Rails會回落到響應的默認處理,並期待在您的視圖目錄中的模板,它會發現JBuilder的文件和渲染作爲響應。

+0

不工作我使用JSON格式是在一個jquery Ajax調用它試圖找到HTML視圖 –