2016-12-26 14 views
0

У меня есть простое создать действие, где я прохожу несколько Params, но получаю ошибку неопределенного разрешения метода для:NoMethodError (неопределенный метод `разрешение» для „теста“: String):

NoMethodError (неопределенный метод `разрешение» для "twest": String):

Далее в Params, что я получаю в запросе:

{"email"=>"[email protected]", "promo_code"=>"test", "description"=>"this is test", "action"=>"create"} 

и promo_code_params

def promo_code_params 
    params.require(:promo_code).permit(:email,:code, :description) 
end 

создавание действия

def create 
@promo_code = @reward.promo_codes.new(promo_code_params) 
# code 
# code 
end 
+0

Пожалуйста, внесите ваш код просмотра? Как и «новое» действие в контроллере –

ответ

0

Вашего PARAMS хэш не на ожидаемом пути вашего promo_code_params определяет. Он должен выглядеть следующим образом:

{ "promo_code" => {"email"=>"[email protected]", "code"=>"test", "description"=>"this is test"}, "action"=>"create"} 

или вы promo_code_params должны быть как:

def promo_code_params 
    params.permit(:email,:promo_code,:description) 
end 

Надежда, что помогает вам понять, что это не так.

+0

Это очень помогло – Nikhil