2017-11-01 2 views
0

ich in der Steuerung folgende Index Aktion habenkann nicht Action zitieren :: Parameter

def index 
    details = CustomerInfo.current 
          .for_user(params[:user]) 
          .for_product(params[:product]) 
          .for_area(params[:area]) 
          .where(value: params.permit(:value)) 
    render(json: details) 
    end 

Wenn ich Erlaubnis in where hinzugefügt begann ich den Fehler immer can't quote ActionController::Parameters bei render(json: details) Aber wenn ich nicht zulassen verwenden .where(value: params[:value]) es funktioniert gut .

Antwort

0

Ich glaube nicht, dass Sie Erlaubnis verwenden, wie es verwendet werden soll.

params.permit gibt eine Instanz von ActionController::Parameters zurück, daher der Fehler, den Sie bekommen. Den Code finden Sie unter here.

permit sollte verwendet werden, um die Attribute zu begrenzen, die durch Massenzuordnung aktualisiert werden können.

Hier ist die entsprechende Dokumentation für sie: https://apidock.com/rails/ActionController/Parameters/permit http://guides.rubyonrails.org/action_controller_overview.html#strong-parameters

Verwandte Themen