NoMethodError(未定义的方法`permit'表示“test”:String):

时间:2016-12-26 18:48:10

标签: ruby-on-rails ruby-on-rails-4 strong-parameters

我有一个简单的创建操作,我传递了一些参数,但是获取了未定义方法允许的错误:

  

NoMethodError(未定义方法`permit'表示“twest”:字符串):

以下是我在请求中收到的参数:

MATCH (:Profile{name:"Rohit"})-[:Friend]->(p:Profile)-[:Like]->(:Hobby{name:"Trekking"}) 
RETURN p

和promo_code_params

{"email"=>"admin@mailinator.com", "promo_code"=>"test", "description"=>"this is test", "action"=>"create"}

创建动作

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

1 个答案:

答案 0 :(得分:0)

你的params哈希不是你promo_code_params定义的预期方式。它应该看起来像:

{ "promo_code" => {"email"=>"admin@mailinator.com", "code"=>"test", "description"=>"this is test"}, "action"=>"create"}

或者你的promo_code_params应该像:

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

希望能帮助您理解错误。