我有一个问题,在命令" rails生成脚手架测试名称之前:string"生成的控制器如下:
class Teste < ApplicationController
before_action :set_teste, only: [:show, :edit, :update, :destroy
# GET /testes
# GET /testes.json
def index
@testes = Teste.all
end
# GET /testes/1
# GET /testes/1.json
def show
end
# GET /testes/new
def new
@teste = Teste.new
end
# GET /testes/1/edit
def edit
end
# POST /testes
# POST /testes.json
def create
@teste = Teste.new(teste_params)
respond_to do |format|
if @teste.save
format.html { redirect_to testes_path, notice: 'Teste cadastrado.' }
format.json { render :show, status: :created, location: @teste }
else
format.html { render :new }
format.json { render json: @teste.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /testes/1
# PATCH/PUT /testes/1.json
def update
respond_to do |format|
if @teste.update(teste_params)
format.html { redirect_to testes_path, notice: 'Teste atualizado.' }
format.json { render :show, status: :ok, location: @teste }
else
format.html { render :edit }
format.json { render json: @teste.errors, status: :unprocessable_entity }
end
end
end
# DELETE /testes/1
# DELETE /testes/1.json
def destroy
@teste.destroy
respond_to do |format|
format.html { redirect_to testes_url, notice: 'Teste excluído.' }
format.json { head :no_content }
end
end
不知道为什么,但现在正在生成另一种格式
class TestesController < ApplicationController
before_action :set_teste, only: [:show, :edit, :update, :destroy]
def index
@testes = Teste.all
respond_with(@testes)
end
def show
respond_with(@teste)
end
def new
@teste = Teste.new
respond_with(@teste)
end
def edit
end
def create
@teste = Teste.new(teste_params)
@teste.save
respond_with(@teste)
end
def update
@teste.update(teste_params)
respond_with(@teste)
end
它能是什么?为什么这会改变?
我会以之前的格式返回,因为我的整个系统是第一种格式
答案 0 :(得分:2)
这种行为的原因可能是一些宝石。
我遇到了同样的问题,因为Devise的最新版本现在附带了Responders gem。
如果是这种情况,那么快速修复就是在aplication.rb
文件中添加以下行:
config.app_generators.scaffold_controller :scaffold_controller
更多信息: