2014-09-21 11 views
6

I'am cercando rotaie-api gioiello con JBuilder e io non riesco a farlo funzionareJBuilder non funziona con la gemma rotaie-api

Ecco un esempio di mio controller rotaie-api/JBuilder visualizzazioni

Gemfile

gem 'jbuilder' 

controller App/regolatore/users_controller.rb

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

View app/views/uso rs/show.json.builder

json.content format_content(@user.id) 

In base alla documentazione JBuilder questo dovrebbe funzionare bene, ma ancora nulla viene restituito.

Grazie per l'aiuto!

+0

da quando ho trovato nessuna risposta adeguata su questo punto ho appena lasciato rotaie-api e costruito la mia api da una nuova applicazione Rails. Tutto funziona alla grande ora. – C404

risposta

18

So che il problema originale era stato probabilmente risolto. Tuttavia ho avuto lo stesso problema e alla fine ho trovato una risposta.

Poiché rails-api è una versione ridotta delle guide, mancano alcune funzionalità (in questo caso il rendering implicito delle viste) e dobbiamo aggiungerle esplicitamente.

soluzione più semplice è quella di aggiungere ActionController :: ImplicitRender a ApplicationController

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

In Rails 5 probabilmente dovrai aggiungere anche 'include ActionView :: Layouts' – mysmallidea

+0

Vedere https://github.com/rails-api/rails-api per la documentazione. – mysmallidea

0

Sembra che tu abbia erroneamente definito la tua vista di jbuilder.
Dovrebbe essere app/views/users/show.json.jbuilder anziché app/views/users/show.json.builder.

Problemi correlati