test rails matchers factorybot factory_girl_rails bot ruby-on-rails rspec rspec-rails

ruby-on-rails - matchers - rspec rails documentation



Lo que hace pasar un controlador de plantilla en el nombre de la plantilla está en desuso. ¿media? (1)

Al representar desde la acción de su controlador, ya no necesita pasar el formato de archivo o el controlador como parte del nombre del archivo. En su lugar, harías esto:

render ''api/v1/sessions/new'', :formats => [:json], :handlers => [:jbuilder], status: 201

Esto proporciona conveniencia para acciones que se representan en múltiples formatos. Por ejemplo, en lugar de presentar una plantilla separada para cada uno de los formatos, simplemente puede pasar una serie de formatos aceptados para render :

render ''api/v1/sessions/foo'', :formats => [:html, :js, :xml] #=> handles html, js, and xml requests #=> renders to foo.html, foo.js, and foo.xml, respectively

Al pasar una matriz a :builders permite especificar el (los) creador (es) de plantillas a usar cuando se procesa:

render ''api/v1/sessions/foo'', :formats => [:json], :handlers => [:jbuilder] #=> renders to foo.json.jbuilder

He estado tratando de averiguar qué significa este mensaje de error, pero no puedo resolverlo.

Aquí está el mensaje completo

DEPRECATION WARNING: Passing a template handler in the template name is deprecated. You can simply remove the handler name or pass render :handlers => [:jbuilder] instead. (called from realtime at /Users/Arel/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/benchmark.rb:295)

Y aquí está el código:

it "is logged in" do post "/api/v1/login", user_login: {email: ''[email protected]'', password: ''12345678'' } response.status.should be(201) end

¿Qué es un template handler y por qué cree que lo estoy pasando en el template name la template name ? Que plantilla

EDITAR:

Sessions_controller . El controlador está siendo llamado por la ruta de acceso.

class Api::V1::SessionsController < Devise::SessionsController before_filter :authenticate_user!, except: [:create, :destroy] before_filter :ensure_params_exist skip_before_filter :verify_authenticity_token def create resource = User.find_for_database_authentication(email: params[:user_login][:email]) return invalid_login_attempt unless resource if resource.valid_password?(params[:user_login][:password]) sign_in("user", resource) resource.ensure_authentication_token! render ''api/v1/sessions/new.json.jbuilder'', status: 201 return end invalid_login_attempt end def destroy current_user.reset_authentication_token render json: {success: true} end protected def ensure_params_exist return unless params[:user_login].blank? render json: {success: false, message: "missing user_login parameter"}, status: 422 end def invalid_login_attempt render ''api/v1/sessions/invalid.json.jbuilder'', status: 401 end end