簡體   English   中英

NoMethodError(“測試”:String的未定義方法“ permit”):

[英]NoMethodError (undefined method `permit' for “test”:String):

我有一個簡單的create動作,我在其中傳遞了一些參數,但是由於未定義方法的錯誤而導致:

NoMethodError(“ twest”的未定義方法“ permit”:字符串):

以下是我在請求中得到的參數:

{"email"=>"admin@mailinator.com", "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

您的params哈希值與promo_code_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

希望可以幫助您了解問題所在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM