当前位置: 首页 > 知识库问答 >
问题:

从嵌套哈希对象检索数据

翁和正
2023-03-14

我创造了一个这样的形式

    @question = Question.new 
    3.times {@question.answers.build}

如果它没有验证,我将重新显示填充了数据的表单。填充问题数据并不难

  @question = @user.questions.new(session[:question])

但是,我无法从答案模型(具有内容和链接字段)的会话哈希中获取嵌套值。这不起作用。

 3.times {@question.answers.build(:content => session[:question][:answers_attributes][:content], :correctanswer => session[:question][:answers_attributes][:correctanswer]) }

我觉得是因为hash对象中的0,1,2迭代。例如,这是hash对象的一个片段(完整显示在下面)

"answers_attributes"=>{"0"=>{"content"=>"",

但我不知道在构建问题答案时如何表达这一点

 3.times {@question.answers.build(:content => session[:question][:answers_attributes][:content]....

当我尝试构建时,在尝试从哈希对象中提取数据时,我不会表示迭代。你能解释一下我如何修改这一行以将参数传递给问题.答案.build吗

这是哈希对象。

>    Parameters: {"utf8"=>"✓", "question"=>{"content"=>"Lick me",
> "link"=>"bab", "answers_attributes"=>{"0"=>{"content"=>"",
> "correctanswer"=>"0", "_destroy"=>"false"}, "1"=>{"content"=>"",
> "correctanswer"=>"1", "_destroy"=>"false"}, "2"=>{"content"=>"",
> "correctanswer"=>"0", "_destroy"=>"false"}}}, "commit"=>"Create
> Question"}

共有1个答案

谢财
2023-03-14

由于参数中有三组键/值,因此最好遍历参数并构建问题。每次迭代的答案如下。这样,您可以通过传递键来表示嵌套哈希中的迭代。

@question = @user.questions.new(session[:question])
session[:question][:answers_attributes].each do |k,v|
        @question.answers.build(:content => session[:question][:answers_attributes][k][:content], :correctanswer => session[:question][:answers_attributes][k][:correctanswer])

       end 
 类似资料:
  • 问题内容: 我有要解析的JSON文件。JSON文件(“ myfile”)的格式如下: 我想从语言级别检索键2的值(ŚrednioZaawansowany)。 接下来做什么?我如何迭代呢? 问题答案: 也许您没有使用Java库的最新版本的JSON。 已有很长时间没有更新,而2个月前已更新。 可以在GitHub上找到,这是其仓库的链接:https : //github.com/douglascrock

  • 问题内容: 您有任何想法如何从对象中检索全部吗?我需要将 for循环 更改为 流 “同类”代码。 非常感谢任何帮助 问题答案: 您可以与涉及的串联和三元运算符混合使用,例如:

  • 问题内容: 我有一个dynamodb表来存储电子邮件属性信息。我在电子邮件上有一个哈希键,在时间戳(数字)上有范围键。使用电子邮件作为哈希键的最初想法是按电子邮件查询所有电子邮件。但是我想做的一件事是检索所有电子邮件ID(在哈希键中)。我为此使用了boto,但不确定如何检索不同的电子邮件ID。 我当前提取10,000条电子邮件记录的代码是 但是要检索不同的记录,我将必须进行全表扫描,然后在代码中选

  • 本文向大家介绍Powershell使用嵌套哈希表实例 嵌套哈希表的2种写法例子,包括了Powershell使用嵌套哈希表实例 嵌套哈希表的2种写法例子的使用技巧和注意事项,需要的朋友参考一下 嵌套哈希表对于多维数组是一个更好选择。这种存储方式将更易于管理。请看: 也可以使用这种写法,也许更好: 脚本定义了一个用户,你可以查看一下这个用户的全部信息:   你将更容易获得里面单个信息:

  • 问题内容: 所以,我有一个 基于Java的Web项目 ,从3个独立的服务检索到的信息显示,托管在不同的服务器上,我使用 的Apache HTTP客户端 来获取通过在REST API信息 JSON ,使用 GSON库 。我将Json转换为用于显示信息的POJO。 现在,我想在项目中实现搜索功能,因此我将Solr安装在单独的服务器上,我想要的是: 为所有3个服务在solr服务器中索引JSON。 从So

  • 我有一个带有键和值的哈希映射(整数数组)