rails创建时的渲染布局

时间:2014-05-11 18:19:47

标签: ruby-on-rails ruby-on-rails-4

使用我的控制器" formulaire"当我在"创建"上验证我的数据时我的验证有错误。 Rails使用" NEw"重新呈现表单。行动,但它不会渲染我在"新" ...

上指定的布局
# 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

1 个答案:

答案 0 :(得分:2)

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

layout :resolve_layout

在控制器的最后:

protected

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