2017-05-29 82 views
2

我有這樣的錯誤,但不太清楚如何去解決它。我有一個版本的API模塊VI和我的UserController的模塊是這樣的ActionController :: UnfilteredParameters(無法轉換未經許可參數散列) - 導軌5

class Api::V1::UsersController < ApplicationController 
    def register 
    ap params 
    end 

    def user_params 
    params.require(:user).permit(
     :email, :password,:password_confirmation, :username, :name, :fb_id, :picture, :access_token, :reset_password_token, 
     :sign_in_count, :authenticatable_salt, :current_sign_in_at, :last_sign_in_at, :current_sign_in_ip, :last_sign_in_ip 
    ) 
    end 
end 

我有一個寄存器功能,我想記錄的PARAMS每一次,我得到一個錯誤

的ActionController :: UnfilteredParameters (無法轉換未經許可 參數散列)

不知道如何解決這個因爲我已經允許的屬性爲我的用戶模型了。

我沒有包括寶石strong_parameters但不知道如果我要,因爲我不認爲我必須包括它。

我知道允許屬性會工作爲Rails 4不知道爲什麼它不工作爲Rails 5.我是否需要做任何事情對我的模型呢?

+0

看看這個答案可以幫助你:https://stackoverflow.com/a/34951198/755421 – bitsapien

+0

[鋼軌可能的複製5:無法檢索從參數的散列值](https://stackoverflow.com/questions/34949505/rails-5-unable-to-retrieve-hash-values-from-parameter) – bitsapien

回答

2

您創建了方法user_params,但在register操作中使用的是params(即未過濾的參數)。

所以更改此設置:

def register 
    ap params 
end 

這樣:

def register 
    ap user_params 
end