2014-05-11 94 views
1

當我在「創建」驗證我的數據時使用我的控制器「公式化」,並且驗證過程中出現錯誤。導軌和「新」動作重新呈現形式,但它好好嘗試渲染,我已在「新」中指定的佈局......軌道渲染創建佈局

# GET /formulaires/new 
    def new 
    @formulaire = Formulaire.new 
    render layout: "main" 
    end 

    # GET /formulaires/1/edit 
    def edit 
    end 

    # POST /formulaires 
    # POST /formulaires.json 
    def create 
    @formulaire = Formulaire.new(formulaire_params) 

    respond_to do |format| 
     if @formulaire.save 
     format.html { redirect_to @formulaire, notice: 'Formulaire was successfully created.' } 
     format.json { render action: 'show', status: :created, location: @formulaire } 
     else 
     format.html { render action: 'new' } 
     format.json { render json: @formulaire.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # PATCH/PUT /formulaires/1 
    # PATCH/PUT /formulaires/1.json 
    def update 
    respond_to do |format| 
     if @formulaire.update(formulaire_params) 
     format.html { redirect_to @formulaire, notice: 'Formulaire was successfully updated.' } 
     format.json { head :no_content } 
     else 
     format.html { render action: 'edit' } 
     format.json { render json: @formulaire.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

回答

2

更新:添加到您的控制器之前操作:

layout :resolve_layout 

而在控制器的末尾:

protected 

def resolve_layout 
    case action_name 
    when 'new', 'create' 
    'main' 
    else 
    'application' 
    end 
end