我正在尝试处理以下输入。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"ogwCJx5J03kvFrve1B/BQ5jBlqsGaqP2En7sAe5XcBA=", "contact_attempt_id"=>"79","3"=>"8", "7"=>"22"}
我可以轻松获得contact_attempt_id和response_code。最后两个参数被证明是难以捉摸的。
键是问题的数据库ID,而值是答案的数据库ID。我试图循环查询params散列中的id的问题,如下所示。
questions.each do |q|
if !params[q.id].nil?
c = contact_responses.create
c.question_id = q.id
c.answer_id = params[q.id]
c.save
end
但是我无法得到答案ID。
答案 0 :(得分:0)
您的id
来自数据库将是一个整数。 params
哈希键是strings/symbols
(HashWithIndifferentAccess
)
将您的代码更改为此
questions.each do |q|
unless params[q.id.to_s].blank?
c = contact_responses.create
c.question_id = q.id
c.answer_id = params[q.id.to_s].to_i
c.save
end