2014-09-21 39 views
6

我'嘗試軌-API寶石用的JBuilder和我似乎無法使它發揮作用Jbuilder的不是寶石軌-API工作

這裏是我的Rails的API控制器/ JBuilder中的示例視圖

的Gemfile

gem 'jbuilder' 

控制器應用程序/控制器/ users_controller.rb

def show 
    @user = User.find_by(id: params[:id]) 
end 

查看應用程序/視圖/使用rs/show.json.builder

json.content format_content(@user.id) 

根據Jbuilder文檔,這應該工作正常,但仍然沒有返回。

感謝您的幫助!

+0

因爲我發現在這個問題上我剛剛離開軌道的API沒有正確答案,並建立了自己的API,從一個全新的Rails應用程序。現在一切都很好。 – C404 2014-09-24 23:47:31

回答

18

我知道原來的問題可能已經解決了。不過,我遇到了同樣的問題,最終找到了答案。

由於rails-api被剝離了一些rails的版本,所以缺少一些功能(在這種情況下隱式地重構視圖),我們需要明確地添加它們。

簡單的辦法是ActionController的:: ImplicitRender添加到ApplicationController中

# app/controllers/application_controller.rb 
class ApplicationController < ActionController::API 
    include ActionController::ImplicitRender 
end 
+1

在Rails 5中,您可能還需要添加'include ActionView :: Layouts' – mysmallidea 2016-03-16 21:21:02

+0

有關文檔,請參閱https://github.com/rails-api/rails-api。 – mysmallidea 2016-03-16 21:21:32

0

看來你錯誤地命名了你的jbuilder視圖。
它應該是app/views/users/show.json.jbuilder而不是app/views/users/show.json.builder