2016-06-09 6 views
0

Ich versuche, eine Auswahl zu erstellen, aber ich diese Störung erhalte:Param fehlt oder der Wert leer ist: Klasse

ActionController::ParameterMissing in ClassesController#create

param is missing or the value is empty: class # Never trust parameters from the scary internet, only allow the white list through.

def class_params

params.require(:class).permit(:classe, :segmento_id)

end

end

Ich versuche, eine Auswahl zu schaffen jedoch das gleiche kehrt diese Fehler ... Wenn es eine einfache Auswahl ist. Ich benutze simple_form.

Jemand mir bitte helfen?

Meine Form:

<%= simple_form_for(@class) do |f| %> 
    <%= f.error_notification %> 

    <div class="form-inputs"> 
    <%= f.input :classe %> 
    <%= f.collection_select :segmento_id, Segmento.all, :id, :categoria, prompt: 'Selecione uma Categoria', input_html: { class:'form-control' } %> 
    </div> 

    <div class="form-actions"> 
    <%= f.button :submit %> 
    </div> 
<% end %> 

Mein Controller:

class ClassesController < ApplicationController 
    before_action :set_class, only: [:show, :edit, :update, :destroy] 


    # GET /classes 
    # GET /classes.json 
    def index 
    @classes = Classe.all 
    end 

    # GET /classes/1 
    # GET /classes/1.json 
    def show 
    end 

    # GET /classes/new 
    def new 
    @class = Classe.new 
    end 

    # GET /classes/1/edit 
    def edit 
    end 

    # POST /classes 
    # POST /classes.json 
    def create 
    @class = Classe.new(class_params) 

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

    # PATCH/PUT /classes/1 
    # PATCH/PUT /classes/1.json 
    def update 
    respond_to do |format| 
     if @class.update(class_params) 
     format.html { redirect_to @class, notice: 'Classe was successfully updated.' } 
     format.json { render :show, status: :ok, location: @class } 
     else 
     format.html { render :edit } 
     format.json { render json: @class.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # DELETE /classes/1 
    # DELETE /classes/1.json 
    def destroy 
    @class.destroy 
    respond_to do |format| 
     format.html { redirect_to classes_url, notice: 'Classe was successfully destroyed.' } 
     format.json { head :no_content } 
    end 
    end 

    private 
    # Use callbacks to share common setup or constraints between actions. 
    def set_class 
     @class = Classe.find(params[:id]) 
    end 

    # Never trust parameters from the scary internet, only allow the white list through. 
    def class_params 
     params.require(:class).permit(:classe, :segmento_id) 
    end 

end 

Antwort

1

gibt es Tippfehler in params.require (: classe)

def class_params 
    params.require(:classe).permit(:classe, :segmento_id) 
end 
+0

Danke für die Hilfe, wirklich, das war das Problem. –

0

Versuchen class Umbenennung etwas anderes als class zu sein.

In der Tat, versuchen Sie es zu vermeiden, Schlüsselwörter wie Felder, Eigenschaften, Methoden, Klassennamen, etc. zu verwenden. Es verwirrt die Sprachlaufzeiten, Frameworks und andere Entwickler.

Verwandte Themen