2017-01-22 4 views
1

Ich habe die folgende Controller bekam:Ruby-Routen - Stack-Ebene zu tief

class HomeController < ApplicationController 

    def index 
    end 

    def next_match 
     games = Invite.where('estado = "Confirmado" AND (user_id = ? OR postulation_id = ?) AND game_date >= ?', 
     params[:user_id], params[:user_id], Date.today) 
     respond_to do |format| 
      format.json { render json: games} 
      end 

    end 
    private 
    def params 
     params.require(:games).permit(:user_id) 
    end 
end 

In meiner Routen-Datei ich einen Beitrag Weg, um Zugang zu „next_match“ Methode deklarieren. Aber wenn ich es ausprobiere, bekomme ich den Fehler "Stack Level zu tief". Warum das?

Routen>

get 'home/index' 
    post '/games' => 'home#next_match' 
    root 'home#index' 

Die Idee ist, einige Daten Throught Post Methon in meiner ersten Seite zu gelangen.

Vielen Dank.

Antwort

4

Sie haben eine Methode namens params, die sich immer und immer wieder aufruft (Rekursion).

Probieren Sie es etwas anderes zu benennen:

def allowed_params 
    params.require(:games).permit(:user_id) 
end 
+0

Vielen Dank. –